====== 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 :
* Le premier tableau permet de donner les restrictions (équivalent à WHERE )
* Plusieurs condition sont possible, elles sont à séparer par des virgules.
* Un ensemble de condition seront interprétés avec la condition AND WHERE
* Le second permet de donner l'ordre de trie ( équivalent à ORDER BY)
Limitation :
* Il est impossible de réaliser la condition OR WHERE en utilisant des virgules
* Il est impossible d'utiliser autre chose que LIKE dans cette méthode
----
=== 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')
);