我有一个带有几个自定义搜索字段的表单过滤器。
在addXXXQuery
函数中,我必须在某些字段相同的表上使用连接。
我可以检查该特定表的 innerJoin 是否已设置在另一个表中addXXXQuery
吗?
[编辑] 示例:
public function addIsPaidColumnQuery(Doctrine_Query $query, $field, $values)
{
if ($values) {
$rootAlias = $query->getRootAlias();
$query->leftJoin($rootAlias.".Inscription i");
->andWhere("i.is_paid = ?", $values);
}
}
public function addActTypeColumnQuery(Doctrine_Query $query, $field, $values)
{
if ($values) {
$rootAlias = $query->getRootAlias();
$query->leftJoin($rootAlias.".Inscription i")
->leftJoin("i.Act a")
$query->addWhere("a.act_type_id = ?", $values);
}
}