Symfony2和多个在哪里

时间:2013-01-22 10:00:26

标签: symfony doctrine

我想使用具有多个值的where构建查询。值的数量是可变的(从1到10)。我的查询现在看起来像这样:

return $repository->createQueryBuilder('s')
    ->where('s.id = :id')
    ->setParameter('id', '1')

但我希望id参数为数组。我试过setParameters,但那不是函数。

1 个答案:

答案 0 :(得分:2)

试试这个

return $repository->createQueryBuilder('s')
   ->where('s.id IN (:id)')
   ->setParameter('id', array('1','2','3'))

这使用作为参数传递的数组在IN语句中使用。

要使用变量,请执行以下操作:

$myarray = array('1','2','3');
return $repository->createQueryBuilder('s')
   ->where('s.id IN (:id)')
   ->setParameter('id', $myarray)