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
?如果要检索联接别名,应在管理生成器中定义自己的查询,以便设置关系名称。