使用Array的条令查询生成器


Doctrine Query Builder using Array

我有一个id:数组

Id_array; //array(2) { [0]=> int(9) [1]=> int(10) } 

我只是想使用Id_array来选择用户;当我没有数组,只有一个整数时,我成功地做到了这一点:

$query = $em->createQuery('SELECT u FROM Users u WHERE u.id = ?1');
$query->setParameter(1, 9); // I tested the value 9 here
$users = $query->getResult(); 

如何获取与Id_array对应的所有用户?

或者不带查询生成器:

$query = $em->createQuery('SELECT u FROM Users u WHERE u.id IN (:id)');
$query->setParameter('id', array(1, 9));
$users = $query->getResult();

如果有人遇到类似的情况,我使用了查询生成器,关键是使用In语句。

//...
$qb = $this->createQueryBuilder('u');
$qb->add('where', $qb->expr()->in('u.id', ':my_array'))
->setParameter('my_array', $Id_array);

从2.1或2.2 开始,存储库现在执行条令2

findBy(array('id' => array(1, 2, 3, 4, 5));