Symfony2:实体扩展MappedSuperClass扩展了FOSUserBundle用户

时间:2017-02-22 18:13:03

标签: php symfony doctrine-orm fosuserbundle mappedsuperclass

我使用SuperUser MappedSuperClass创建了一个BaseBundle,他扩展了FOSUserBundle用户

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。我创建了一个扩展我的SuperUser类的用户实体。

/*
 * User class
 */
class User extends SuperUser
{
   /**
    * @var string
    */
   private $fullName;
}

问题在于,当我创建表时,Doctrine只能看到FOSUser属性和User属性,而不能看到我的SuperUser属性。我只能看到fullName和FOSUser属性。

我的SuperUser课程被绕过..

我注意到User类使用YAML表示法,SuperUser使用PHP Annotation,而FOSUser Class使用XML表示法。我不知道这是否会造成问题。

1 个答案:

答案 0 :(得分:1)

来自文档:

  

捆绑包只能接受一种元数据定义格式。例如,不可能将YAML元数据定义与带注释的PHP实体类定义混合使用。

尝试添加MappedSuperClass的YML映射

相关问题