addXXXColumnCriteria를 사용하지 말고 FormFilter doBuildCriteria (Propel) 또는 doBuildQuery (Doctrine) 메소드를 덮어 쓰는 것이 좋습니다. 저는 Propel을 사용한 적이 없지만 Doctrine만큼이나 효과가 있다고 생각합니다. 예를 들어
교리에 대한
class yourPropelFormFilter extends anyKindOfSfFormFilterPropel {
public function doBuildCriteria(array $values) {
$criteria = parent::doBuildCriteria($values);
// ... change the criteria behaviour with the $values array (do some print_r to $values to see how the data array is formatted)
return $criteria;
}
}
합니다 (getRootAlias 쿼리 방법을 사용하는 기억) :
class yourDoctrineFormFilter extends anyKindOfSfFormFilterDoctrine {
public function doBuildQuery(array $values) {
$q = parent::doBuildQuery($values);
$rootAlias = $q->getRootAlias();
if(...) {
$q->innerJoin($rootAlias.'.RelationX rx')
->addWhere('rx.value = ?',$values['...']);
}
return $q;
}
}
, 기준/쿼리 수정 된 개체를 반환하는 것을 기억하십시오!