Viele-zu-Eins mit mehreren Zieleinheiten

Das scheint einfach, aber ich kann es nicht richtig machen:

Es gibt drei Entitäten:Fruit, Vegetable undSnack. Snack hat die Felderid, time undfood. Essen ist ein Hinweis aufentweder eine Fruchtoder ein Gemüse. Es handelt sich also im Grunde genommen um eine 1: 1/1: 1-Beziehung, da ein Snack immer nur ein Essen enthält. Es gibt jedoch mehr als eine Zieleinheit.

Wie würde ich das in Doctrine2 abbilden?

Eine einfache Lösung, die ich verwendet hätte, bevor ich Doctrine2 kannte, wäre, zwei Felder zu verwenden:food_type undfood_id. Aber wie kann ich eine Verbindung vom Lebensmitteltyp zur richtigen Entität herstellen? Ich habe über ein Array von JoinColumns nachgedacht, kann aber keinen Weg finden, die richtige Entität zu verbinden. Ich habe mir auch zugeordnete Superklassen angesehen, da es eine DiscriminatorColumn gibt, aber es scheint auch der falsche Ansatz zu sein. Wenn ich es richtig mache, kann die Superklasse selbst keine Entität sein - also kann ich keine Nahrungsentität erzeugen.

Jede Hilfe wird geschätzt. Ich bin sicher, ich vermisse hier etwas Einfaches.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage