doctrine SQLFilter禁用IN查询的自动引用

时间:2016-03-09 10:19:09

标签: php symfony doctrine-orm

我创建过滤器Doctrine \ ORM \ Query \ Filter \ SQLFilter;

这里是查询修改

Application :: CRM_APP_IDS是1,2,5

 $app_ids = $this->getParameter(Application::CRM_APP_IDS);

 return "{$targetTableAlias}.application_id IN ($app_ids)";

我引用了查询IN(' 1,2,5')

我如何在sqlFilter中使用IN

我这样做 - Doctrine过滤器 - 在这个地方没有可用的QueryBuilder - http://doctrine-orm.readthedocs.org/projects/doctrine-orm/en/latest/reference/filters.html

更新1

现在我使用循环和app =或app =或app =但也许有人知道更好的方法。

1 个答案:

答案 0 :(得分:-1)

那将是:

$expr = new Expr\Func($x . ' IN', (array) $y);

doctrine/orm/lib/Doctrine/ORM/Query/Expr.php:443

中找到

我们通过将它添加到QueryBuilder来使用它:

$builder->andWhere($expr);