Symfony2: сущность расширяет MappedSuperClass расширяет пользователя FOSUserBundle
Я создал BaseBundle с SuperUser MappedSuperClass, который расширяет FOSUserBundle User
use FOS\UserBundle\Model\User as FOSUser;
/*
* @ORM\MappedSuperclass
*/
class SuperUser extends FOSUser
{
/**
* @var string
* @ORM\Column(name="locale", type="string", nullable=true)
*/
protected $locale;
}
В моем проекте я установил свой BaseBundle. Я создал сущность User, которая расширяет мой класс SuperUser.
/*
* User class
*/
class User extends SuperUser
{
/**
* @var string
*/
private $fullName;
}
Проблема в том, что когда я создаю таблицу, Doctrine видит только свойства FOSUser и User, но не мои свойства SuperUser. Я вижу только свойства fullName и FOSUser.
Мой класс SuperUser обойден..
Я заметил, что класс User имеет нотацию YAML, SuperUser - аннотацию PHP, а класс FOSUser - нотацию XML. Я не знаю, создают ли это проблемы.
1 ответ
Из документации:
Пакет может принимать только один формат определения метаданных. Например, невозможно смешивать определения метаданных YAML с аннотированными определениями классов сущностей PHP.
Попробуйте добавить YML-отображение вашего MappedSuperClass