我使用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表示法。我不知道这是否会造成问题。
答案 0 :(得分:1)
来自文档:
捆绑包只能接受一种元数据定义格式。例如,不可能将YAML元数据定义与带注释的PHP实体类定义混合使用。
尝试添加MappedSuperClass的YML映射