Bonjour j'aimérais savoir s'il est possible de faire une liaison plusieurs à plusieurs sur la même table. Imaginons que j'ai une table X representant des personnes et que ces personnes pourraient avoir des liens avec entre elles. Donc X1 peut avoir une laison avec X10, X14, X21 et X2 peut avoir aussi une liason avec X14, X101 etc.

Je fais donc une liaison plusieurs à plusieurs sur la même table j'aimerais donc matérialiser cela en Laravel.

Cordialement

2 réponses


quenti77
Réponse acceptée

Hello,

Tu ne pourras pas directement sur la table mais tu peux avec une table intermédiaire qui aura 2 colonnes qui pointent sur ta table

users:
- id
- name
- email

user_relation:
- id
- from_user_id
- to_user_id
- status (bool|null)

Si U1 fait une demande à U3 alors la table user_relation aura cette ligne :

id: 1
from_user_id: 1
to_user_id: 3
status: null

Et quand U3 accepte tu passe status à true par exemple et s'il refuse tu peux mettre à false.

Le plus dur pour sortir la liste des relations c'est de ne pas oublier que l'utilisateur peut-être sur la colonne from ou to.

Merci. Dans ce cas dans le model User de laravel en terme de relation que dois-je faire pour récuperer les utilisateurs en lien avec un utilisateur