Récupérer les données
La récupération des données se fait à travers l'utilisation d'un dépôt.
Doctrine propose par défaut plusieurs méthodes d'accès aux données.
// src/Controller/DiabloController::showProfile $em = $this->getDoctrine()->getManager(); $repository_profile = $em->getRepository(Profile:class); // On récupère le profile correspondant à l'identifiant $profile = $repository_profile->find($id); // En cas d'échec, on lance une exception if($profile === null) { // Exception du contrôleur Symfony throw $this->createNotFoundException('Profil '.$id.' non trouvé'); }
Méthodes fournies
-
find($id)
- récupère l'entité grâce à son identifiant
-
findAll()
- récupère toutes les entités, au sein d'un tableau
-
findBy(...)
- récupère un tableau d'entités correspondant à des critères, classés par ordre et éventuellement paginés
-
$repository->findBy(array $criteres, array $orderBy = null, $limite = null, $offset = null);
-
findOneBy(array $criteres)
- récupère une seule entité
-
$repository->findOneBy(array('battleTag' => 'Rammstein#42'));
-
findByX($valeur)
- Magic finder
- Permet de faire une recherche sur un critère donc et le nom est passé dans le nom de la méthode
-
$repository->findByBattleTag('Rammstein#42');
findOneByX($valeur)
- Equivalent à réponse unique de
findByX($valeur)