Bonjour Aimen,
Tu veux avoir une entité qui appartient à deux autres mais éviter un champs null lorsqu'il n'y a pas de liaison?
Peut être que tu t'y prends mal...
Allons sur ce principe:
J'ai une entité A qui appartient à une liaison optionnelle aux entités B et C.
Alors je crée une entité D qui elle aura ces différents champs:
- Type liaison (chaîne de caractères correspondant soit à 'B' ou à 'C')
- liaison_id (correspondant à l'id de l'entité 'B' ou 'C')
- a_id (correspondant à l'identifiant courant de l'entité A)
N'oublie pas de mettre liaison_id comme index.
A aura donc plusieurs D, il te suffira de faire une requête sur le groupe 'Type liaison' et 'liaison_id' pour retrouver toutes les données d'une entité A liées soit à B ou C selon le type liaison spécifié.
Cela t'évite normalement d'avoir des champs null, juste une petite requête à avoir dans ton repo puis c'est bon.
Bien à toi,
ccvf2s.