Symfony – Les relations entre entités
Symfony – Les relations entre entités
Cours 17 — Les relations entre entités
Introduction
Une relation permet de relier deux entités.
Exemple :
1
2
3
Patient
↓
Séjour
Un patient peut posséder plusieurs séjours.
Créer une relation
Commande :
1
php bin/console make:entity
Puis :
1
New property name:
Exemple :
1
patient
Type :
1
relation
Exemple ManyToOne
Un séjour appartient à un seul patient.
1
2
#[ORM\ManyToOne]
private ?Patient $patient = null;
Exemple OneToMany
Un patient possède plusieurs séjours.
1
2
3
4
5
#[ORM\OneToMany(
targetEntity: Sejour::class,
mappedBy: 'patient'
)]
private Collection $sejours;
Utiliser la relation
1
$sejour->setPatient($patient);
Lire la relation
1
$patient = $sejour->getPatient();
Accéder à plusieurs objets
1
$sejours = $patient->getSejours();
Résultat :
1
Collection de séjours du patient.
Comprendre le schéma
1
2
3
4
5
6
7
8
9
10
11
Patient
↓
Séjour 1
Patient
↓
Séjour 2
Patient
↓
Séjour 3
Conclusion
Les relations permettent de relier plusieurs entités.
À retenir :
ManyToOne: plusieurs objets vers un seul ;OneToMany: un objet vers plusieurs ;- Doctrine génère automatiquement le code nécessaire ;
- les relations facilitent la navigation entre les objets.
This post is licensed under CC BY 4.0 by the author.