Les Relations entre entitésrelations entre entités
Il est possible, avec DQL ou Query Builder,
de faire des Jointuresjointures entre différentes tables.
En effet, il arrive souvent que toutes les
informations ne soient pas dans une seule table, mais réparties
dans plusieurs tables (on peut par exemple avoir une jointure entre
des produits et leurs marques).
Les tables utilisent des champs (on appelle
cela des clés étrangères) ou des tables
intermédiaires pour réaliser leurs jointures.
Nous allons voir ici comment on peut faire
des jointures directement dans les entités, sans passer
par le DQL ou le Query Builder.
Il y a quatre sortes de jointures.
OneToOneOneToOne
Un enregistrement de la table principale (qu’on
appelle table propriétaire)
ne peut être lié qu’à un seul
enregistrement de la table secondaire (qu’on appelle table inverse) et, réciproquement,
un enregistrement de la table inverse ne peut être lié qu’à un
enregistrement de la table propriétaire.
Exemple
Imaginons une table Référence
qui contient le numéro de référence de
chaque produit. La relation entre les deux tables est de type OneToOne.
C’est une relation d’unicité.
OneToManyOneToMany
Un enregistrement de la table propriétaire
peut être lié à plusieurs enregistrements
de la table inverse, mais un enregistrement de la table inverse
ne peut être lié qu’à ...