Как создать традиционные полиморфные отношения в Doctrine 2?
Я прочитал много ответов, в которых предлагается использовать наследование одной таблицы, но я не вижу, как это поможет в моей ситуации. Вот что я пытаюсь сделать:
У меня есть несколько служебных сущностей, таких как Address, Email и PhoneNumber.
У меня есть некоторые "контактные" сущности, такие как Клиент, Работодатель, Бизнес. Каждая из них должна содержать отношение OneToMany с вышеуказанными полезными сущностями.
В идеале, я хотел бы создать абстрактный базовый класс под названием 'ContactableEntity', который содержит эти отношения, но я знаю, что нельзя поместить отношения OneToMany в сопоставленные суперклассы с доктриной - это нормально.
Однако я все еще в растерянности, как я могу связать их без огромной избыточности в коде. Сделать ли мне Address типом STI, с подклассом 'CustomerAddress', который содержит связь непосредственно с Customer? Нет ли способа уменьшить количество повторений?