小编Sid*_*der的帖子

Symfony2 FOSUserBundle用户实体字段覆盖

我有覆盖实体的问题.我需要这个领域emailCanonical不是唯一的.

以下是我所做的:根据Doctrine2文档,UserBundle\Resources\config\doctrine\User.orm.xml我已经添加了以下attribute-overrides配置

<attribute-overrides>
    <attribute-override name="emailCanonical">
        <field column="email_canonical" unique="false" name="emailCanonical" />
    </attribute-override>
</attribute-overrides>
Run Code Online (Sandbox Code Playgroud)

然后我运行了以下控制台命令

$ php app/console doctrine:migrations:diff
$ php app/console doctrine:migrations:migrate
Run Code Online (Sandbox Code Playgroud)

一切都很好.emailCanonical是非独特的.但是现在,当我需要在其他项目包中生成一个实体时,我有一个奇怪的错误:

 $ php app/console doctrine:generate:entities SkyModelsBundle:Category
 Generating entity "Sky\Bundle\ModelsBundle\Entity\Category"

 [Doctrine\ORM\Mapping\MappingException]
 Invalid field override named 'emailCanonical' for class 'Sky\Bundle\UserBundle\Entity\User'.

 doctrine:generate:entities [--path="..."] [--no-backup] name
Run Code Online (Sandbox Code Playgroud)

但是,如果我从xml映射中删除覆盖设置,一切正常.

symfony doctrine-orm fosuserbundle

14
推荐指数
2
解决办法
1万
查看次数

标签 统计

doctrine-orm ×1

fosuserbundle ×1

symfony ×1