1

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

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

但我希望该id参数是数组。我试过setParameters了,但这不是功能。

4

1 回答 1

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)
于 2013-01-22T10:04:14.630 回答