Relation entre les tables avec directus

Hello,
J’ai un petit dilemme.
j’essaye de faire une relation entre 2 tables mais j’ai l’impression qu’il me manque un truc.
je m’explique.

j’ai une table action :

  • laver le sol
  • laver les fenêtres
  • laver la baignoire
    etc…

j’ai une autre table place :

  • salle de bain
  • Salon

J’aimerais lié dans une table place_action
dans cette table je voudrais en registrer :

  • salle de bain avec → laver la baignoire, laver les fenêtres, laver le sol
  • salon → laver le sol

mais je ne sais pas quel relation choisir :confused: ``

et de plus j’ai l’impression qui crée un champs avec un tableau dans la bdd .

merci d’avance.

Pour réaliser ceci je pense que le mieux serait une relation Many-to-one dans la table Action vers la table lieux.
Ca te permet de choisir un lieu pour chaque action. Il y a bien une colonne qui va être ajoutée dans chaque action, qui stockera l’id du lieu.

Si tu veux avoir aussi la relation inverse (pouvoir retrouver toutes les actions depuis un lieu) alors tu peux cocher la case qui va générer la relation One-to-many dans la table lieux. Comme je l’ai dit dans le cours, cette 2ème relation ne stocke pas réellement de nouvelles informations en base, puisque toutes les infos sont déjà stockée dans la première relations. C’est uniquement un raccourcis pour retrouver rapidement toutes les actions avec un id spécifique å l’intérieur

hello maxime,
Merci pour ta réponse.
j’ai essayé mais ça n’a pas fonctionne, peut être que je me suis mal pris :slight_smile:
Est-ce que avec many to one je peux ajouter plusieurs action au même lieux
ex :
salle de bien ( lieu) : baignoire(action) , fenêtre(action)
salon ( lieu) : fenêtre(action)

l’idée et d’avoir une même action dans des lieux différents ?

Merci d’avance

christophe

On part du principe qu’un lieu peut avoir plusieurs actions.
La question est surtout de savoir si chaque action peut aussi avoir plusieurs lieux :

  • si oui, alors tu dois créer une relation Many to Many (M2M)
  • si non. alors tu peux créer une relation Many To One dans ta table action, qui contiendra l’id du lieu de l’action.

Si tu pars sur le second principe, rien ne t’empêche de créer plusieurs actions quand tu veux traiter plusieurs lieux avec le même type d’action. Par exemple si tu veux laver la salle de bain et aussi le salon tu peux créer 2 actions :

  • Laver → Salle de Bain
  • Laver → Salon