Добавить сопоставления столбцов в расширенный класс в Doctrine

У меня есть сущность PHP, которая наследуется от базового класса, содержащегося в библиотеке, которую я не могу изменить. Я хотел бы сопоставить свойства, унаследованные от базового класса, со столбцами базы данных. Поскольку аннотация @Column должна использоваться в поле метода, я не могу таким образом определить унаследованные столбцы. Использование @AttributeOverrides также не будет работать, так как тогда мне потребуется доступ к базовому классу, чтобы сделать его MappedSuperclass.

Пример классов:

class LibraryClass
{
    protected $someProperty;
}


/**
 * @Entity
 * @Table(name="child")
 */
class Child extends LibraryClass
{
    /**
     * @Column(name="some_property", type="string")
     * Somehow target $this->someProperty
     */     
}

Есть ли другой способ сопоставить родительские свойства без передачи свойств между классами и без использования наследования?


person Villermen    schedule 19.06.2017    source источник


Ответы (1)


Вы можете использовать сопоставление с XML или YML вместо аннотаций. Это задокументировано здесь.

https://symfony.com/doc/current/doctrine.html#add-mapping-information

person ste    schedule 26.06.2017
comment
Однако я хотел бы придерживаться сопоставлений аннотаций для других объектов, и это не представляется возможным. - person Villermen; 26.06.2017