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

Другие вопросы по тегам