我想使用具有多个值的where
构建查询。值的数量是可变的(从1到10)。我的查询现在看起来像这样:
return $repository->createQueryBuilder('s')
->where('s.id = :id')
->setParameter('id', '1')
但我希望id
参数为数组。我试过setParameters
,但那不是函数。
答案 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)