Symfony – Rechercher un enregistrement
Symfony – Rechercher un enregistrement
Cours 12 — Rechercher un enregistrement
Introduction
La méthode find() permet de rechercher un enregistrement à partir de son identifiant.
Elle est fournie par le repository de l’entité.
Principe général
1
$patient = $patientRepository->find(12);
Résultat :
1
Recherche le patient dont l'identifiant vaut 12.
Utiliser find() dans un contrôleur
1
2
3
4
5
6
7
8
9
10
11
12
#[Route('/patient/{id}', name: 'patient_show')]
public function show(
int $id,
PatientRepository $patientRepository
): Response
{
$patient = $patientRepository->find($id);
return $this->render('patient/show.html.twig', [
'patient' => $patient
]);
}
Comprendre le code
1
$patientRepository->find($id);
Signifie :
1
Chercher l'enregistrement dont l'identifiant vaut $id.
Résultat trouvé
Si l’identifiant existe :
1
$patient = $patientRepository->find(12);
alors :
1
$patient
contient un objet Patient.
Résultat non trouvé
Si l’identifiant n’existe pas :
1
$patient = $patientRepository->find(999);
alors :
1
$patient === null
Vérifier le résultat
1
2
3
4
5
$patient = $patientRepository->find($id);
if (!$patient) {
throw $this->createNotFoundException();
}
Affichage dans Twig
Contrôleur :
1
2
3
return $this->render('patient/show.html.twig', [
'patient' => $patient
]);
Vue Twig :
1
Conclusion
Pour rechercher un enregistrement :
1
$patient = $patientRepository->find($id);
À retenir :
find()recherche par identifiant ;- la méthode retourne un objet ;
- si aucun enregistrement n’est trouvé, elle retourne
null; - le résultat peut être transmis à Twig.
This post is licensed under CC BY 4.0 by the author.