我创建过滤器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 =但也许有人知道更好的方法。
答案 0 :(得分:-1)
那将是:
$expr = new Expr\Func($x . ' IN', (array) $y);
在doctrine/orm/lib/Doctrine/ORM/Query/Expr.php:443
我们通过将它添加到QueryBuilder来使用它:
$builder->andWhere($expr);