Sommaire

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’à ...