Wiele do jednego z wieloma jednostkami docelowymi

Wydaje się to proste, ale nie mogę tego zrobić dobrze:

Istnieją trzy podmioty:Fruit, Vegetable iSnack. Snack ma polaid, time ifood. Żywność jest odniesieniem dozarówno jeden owoclub jedno warzywo. Jest to więc zasadniczo relacja „wiele do jednego” / „jeden do wielu”, ponieważ jedna przekąska zawsze będzie zawierać tylko jedno jedzenie. Ale istnieje więcej niż jedna jednostka docelowa.

Jak zmapowałbym to w Doctrine2?

Prostym rozwiązaniem, którego użyłbym przed poznaniem Doctrine2, byłoby użycie dwóch pól:food_type ifood_id. Ale jak mogę powiązać rodzaj żywności z właściwą jednostką? Pomyślałem o tablicy JoinColumns, ale nie mogę znaleźć sposobu na połączenie poprawnej jednostki. Spojrzałem też na zmapowane superklasy, ponieważ istnieje kolumna DiscriminatorColumn, ale wydaje się, że jest to niewłaściwe podejście. Jeśli dobrze to zrozumiem, nadklasa nie może być istotą samą w sobie - więc nie mogę stworzyć jednostki żywnościowej.

Każda pomoc jest doceniana. Jestem pewien, że brakuje mi tutaj czegoś prostego.

questionAnswers(1)

yourAnswerToTheQuestion