Ceci est une ancienne révision du document !
Exemple : Une table “user” avec les colonnes “id”, “name”, “mail”.
Sans ORM, pour récupérer les données, dans tous les cas, on utilise le langage SQL :
SELECT * FROM "user" WHERE 'user'.'id' LIKE 1
Avec un ORM, étant données le status d'objet et la liaison avec le framework, on dispose de plusieurs moyens de récupération :
$this->getUser()
$manager->getRepository(User::class)->findOneBy(array('id' => 1));
Les deux méthodes principales de récupération sont :
$manager->getRepository(class::class)->findBy(array(), array())
et
$manager->getRepository(class::class)->findOneBy(array(), array())
Leurs arguments :
Limitation :
Récupération des utilisateurs actifs, trié par date de création
$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
$user = $manager->getRepository(User::class)->findOneBy( array('active'=> true, 'id' => 2), array('name' => 'DESC) );