Php 如何将leftJoin添加到Symfony 1.4表单筛选器
所以我需要在遗留应用程序的管理屏幕上添加一个过滤器。基本上,一些客户已经启用了计费自动加满功能,管理员希望能够在管理员屏幕中按这些客户进行筛选 我认为这样做的方法是添加适当的过滤器,我已经这样做了,但是查询没有被正确修改。筛选代码如下所示:Php 如何将leftJoin添加到Symfony 1.4表单筛选器,php,symfony-1.4,symfony-forms,doctrine-1.2,Php,Symfony 1.4,Symfony Forms,Doctrine 1.2,所以我需要在遗留应用程序的管理屏幕上添加一个过滤器。基本上,一些客户已经启用了计费自动加满功能,管理员希望能够在管理员屏幕中按这些客户进行筛选 我认为这样做的方法是添加适当的过滤器,我已经这样做了,但是查询没有被正确修改。筛选代码如下所示: public function addAutoTopupColumnQuery(Doctrine_Query $query, $field, $value) { $value = intval($value); sw
public function addAutoTopupColumnQuery(Doctrine_Query $query, $field, $value)
{
$value = intval($value);
switch ($value) {
default:
case(0): {
//Any is set - nothing to do.
break;
}
case(1): {
//Enabled is set - left join the table
$query->leftJoin($query->getRootAlias() . '.BillingAutoTopup billingAutoTopup');
break;
}
case(2): {
//Without is set - todo implement
break;
}
}
}
当查询试图将BillingAutoTopup
表连接到查询中的上一个表,而不是正确的表(即查询中的第一个表)时,使用该选项会出现错误
如何对过滤器进行排序,使其作为第一项运行,或者如何更改条令查询以将表连接到查询中已存在的特定表
哦,是的,这是原则1而不是原则2。你能给我们看看你的
生成器.yml
?如果要检索联接别名,应在管理生成器中定义自己的查询,以便设置关系名称。