Много-к-одному с несколькими целевыми объектами

Это кажется простым, но я не могу понять это правильно:

Есть три объекта:Fruit, Vegetable а такжеSnack, Закуска имеет поляid, time а такжеfood, Еда является ссылкой наили один фруктили же один овощ Таким образом, это в основном отношения «многие к одному / ко многим», поскольку одна закуска всегда будет содержать только одну еду. Но есть больше чем одна целевая сущность.

Как бы я отобразил это в Doctrine2?

Простое решение, которое я использовал бы прежде, чем знать Doctrine2, состояло бы в том, чтобы использовать два поля:food_type а такжеfood_id, Но как я могу установить связь между типом пищи и правильным объектом? Я думал о массиве JoinColumns, но не могу найти способ подключить правильную сущность. Я также посмотрел на сопоставленные суперклассы, потому что есть DiscriminatorColumn, но это также, кажется, неправильный подход. Если я правильно понимаю, суперкласс сам по себе не может быть сущностью, поэтому я не могу создать еду.

Любая помощь приветствуется. Я уверен, что мне здесь не хватает чего-то простого.

Ответы на вопрос(1)

Ваш ответ на вопрос