Doctrine Query Builder using Array
33,712
Solution 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();
Solution 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);
Solution 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));
Author by
Mick
"Stop using tools that you don't understand" (talking to myself..) "Only use the tools that you actually need" (talking to myself again..) “No one has ever become poor by giving.” ― Anne Frank
Updated on July 05, 2022Comments
-
Mick almost 2 years
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?