Doctrine Query Builder using Array

我只是一个虾纸丫 提交于 2020-01-01 06:28:06

问题


I have an array of id:

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

I simply want to select the users using Id_array; I managed to do this when I don't have an array but just an integer:

$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(); 

How can I fetch all the users that correspond to Id_array?


回答1:


Or without the query builder:

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



回答2:


In case someone runs into something similar, I used the query builder, The key point is to use the IN statement.

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



回答3:


On doctrine 2 is implemented by the repository now since 2.1 or 2.2

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


来源:https://stackoverflow.com/questions/11555207/doctrine-query-builder-using-array

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!