public static function relationCriteria($className1, $className2, $relationEntry, $select = '*') { $er = new EntityRelation(); $criteria = $er->getCriteria(); $criteria->select($select); $cn1 = explode(' ', $className1); MUtil::SetIfNull($cn1[1], $className1); $cn2 = explode(' ', $className2); MUtil::SetIfNull($cn2[1], $className2); $alias = '_' . $cn1[1] . '_' . $cn2[1]; $criteria->join($className1, "entityrelation er{$alias}", "{$cn1[1]}.idEntity = er{$alias}.idEntity1"); $criteria->join("entityrelation er{$alias}", "relationtype rt{$alias}", "er{$alias}.idRelationType = rt{$alias}.idRelationType"); $criteria->join("entityrelation er{$alias}", $className2, "er{$alias}.idEntity2 = {$cn2[1]}.idEntity"); $criteria->where("rt{$alias}.entry = '{$relationEntry}'"); return $criteria; }