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)