0

我创建了一个带有扩展 FOSUserBundle 用户的 SuperUser MappedSuperClass 的 BaseBundle

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 属性。

我的超级用户类被绕过了..

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

4

1 回答 1

1

从文档中:

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

尝试添加 MappedSuperClass 的 YML 映射

于 2017-02-22T19:40:40.963 回答