доктрина2 полиморфная ссылка - PullRequest
0 голосов
/ 29 июля 2011

У меня есть объект "Пост", и я хочу, чтобы пользователи голосовали за эти посты. Голоса, прошедшие проверку подлинности и анонимные пользователи, хранятся в отдельных таблицах БД, поэтому есть два отдельных объекта «VoteAnonymous» и «VoteAuthenticated», которые реализуют один и тот же интерфейс.

Теперь у меня проблема с определением ссылки в сущности «Post» и ее опции «targetEntity». Интересно, может ли Doctrine2 выбрать один из полиморфных классов в качестве целевого объекта своего поля.

Спасибо за любую помощь.

P.S. Я не могу перепроектировать БД, на этой структуре данных лежит тонна унаследованного кода.

1 Ответ

0 голосов
/ 14 сентября 2011

Doctrine поддерживает наследование, поэтому вы должны создать две разные сущности, которые имеют общую часть, скажем AbstractVote, которая определяет все свойства.

См. этот ответ - он содержит пример такой структуры.

...