Les méthodes findBy() et findOneBy()

Ce sont les deux méthodes principales de récupération :

//Définition du manager
$manager = $this->getDoctrine()->getManager();
 
$var = $manager->getRepository(User::class)->findBy(array(), array())

et

//Définition du manager
$manager = $this->getDoctrine()->getManager();
 
$var = $manager->getRepository(User::class)->findOneBy(array(), array())

Leurs arguments :

Limitation :


Exemples :

Récupération des utilisateurs actifs, trié par date de création

//Définition du manager
$manager = $this->getDoctrine()->getManager();
 
$users = $manager->getRepository(User::class)->findBy(
   array('active'=> true), 
   array('creationDate' => 'ASC)
);

Récupération de l'utilisateur actif ayant l'id 2, trié par nom

//Définition du manager
$manager = $this->getDoctrine()->getManager();
 
$user = $manager->getRepository(User::class)->findOneBy(
   array('active'=> true, 'id' => 2), 
   array('name' => 'DESC)
);

Récupération des l'utilisateurs actifs ayant l'id 2,3,4,5 ou 6 trié par nom

//Définition du manager
$manager = $this->getDoctrine()->getManager();
 
//Définition des choix voulu
$tabUserId = array(2,3,4,5,6);
$user = $manager->getRepository(User::class)->findBy(
   array('active'=> true, 'id' => $tabUserId), 
   array('id' => 'ASC')
);