3 - Les relations entre les tables avec Symfony 4

Temps de lecture : 6 minutes environ.

Dans le précédent article, nous avons parlé de la structure de la base de données.

Cette base de données contient 5 tables qui sont liées entre elles par des relations un à plusieurs ou plusieurs à plusieurs.

Lors de la création de nos entités, qui servent à créer les tables, nous allons également créer les relations.

Nous avons deux relations un à plusieurs dans la base de données. La première entre la table users et la table articles, la seconde entre la table articles et la table commentaires.

Nous allons prendre l'exemple de la table commentaires.

Celle-ci contient une clé étrangère "articles_id" permettant de référencer l'article auquel est lié ce commentaire.

Lors de la création de l'entité, nous allons créer cette clé étrangère.

Si le champs s'appelle "articles_id", nous le nommons uniquement "articles".

Nous poursuivons en choisissant le type "relation" comme sur l'écran ci-dessous.

A la question suivante, nous devons déterminer à quelle entité nous souhaitons lier l'entité commentaires. Dans notre cas, il s'agit de l'entité "Articles".

Après avoir validé, nous avons une question concernant le type de relation comme ci-dessous.

C'est ici que nous définissons le type de relation. Dans notre cas, chaque commentaire est lié à un article et chaque article peut avoir plusieurs commentaires, il s'agira donc de "ManyToOne".

Dans le cas de la relation entre les articles et les catégories, nous choisirions "ManyToMany".

Dans les questions suivantes nous allons successivement décider :

  • Si le champ peut être vide, ici nous répondons "no"
  • Si nous souhaitons pouvoir accéder aux commentaires depuis l'entité "Articles", c'est très pratique donc "yes"
  • Quel sera le nom de la propriété "commentaires" dans l'entité "Articles"
  • Si nous souhaitons supprimer les commentaires "orphelins" si l'article est supprimé. C'est pratique, donc "yes"

Et voilà, notre relation est créée, nous reviendrons en détails sur le contenu des entités dans un prochain article.

Obtenir de l'aide

Pour obtenir de l'aide, vous pouvez accéder au serveur Discord pour une entraide par chat

3 - Les relations entre les tables avec Symfony 4
Article publié le - Modifié le

Catégories : MVC Tutoriel Symfony

Mots-clés : Tutoriel Base de données MVC Symfony relations entites tables

Partager : Partager sur Facebook Partager sur Twitter Partager sur LinkedIn