Liaison plusieurs à plusieurs sur la même table

Par Vickson Ahiwa, il y a 3 ans


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, il y a 3 ans

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.

Vickson Ahiwa, il y a 3 ans

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