вопрос по доктрине знатокам:
есть 3 сущьности (A,B,C)
хочется настроить связть А с B или C, то есть методом скажем A->getRelation() я хочу получить либо B либо C
В и С не наследуются друг от друга, но имплементируют один интерфейс
я вполне представляю как такое сделать в базе (заводим 2 поля, одно для уникального ключа сущьности, второе для названия сушьности), вопрос в том, возможно ли такое сделать в терминах доктрины, без своих костылей?
Вроде сюда подходит Inheritance Mapping
Наследуешь B и C от общей сущности.
Эту общую сущность объявляешь как MappedSuperClass , и спомощью поля-дискриминатора даешь доктрине понять какой класс где использовать
/**
* @MappedSuperclass
* @DiscriminatorColumn(name=«type», type="string")
* @DiscriminatorMap({«a» = «ClassA», «b» = «Class»B})
**/
Потом создаешь связь из А на этот MappedSuperclass.
Можно даже раскидать разных наследников по разным таблицам БД если нужуно.
Как-то так.