我有重寫實體的問題。 我需要字段emailCanonical
不是唯一的。Symfony2 FOSUserBundle用戶實體字段覆蓋
這裏是我做了什麼: 在我UserBundle\Resources\config\doctrine\User.orm.xml
我已經添加了以下attribute-overrides
配置,根據Doctrine2文檔
<attribute-overrides>
<attribute-override name="emailCanonical">
<field column="email_canonical" unique="false" name="emailCanonical" />
</attribute-override>
</attribute-overrides>
然後,我跑到下面的控制檯命令
$ php app/console doctrine:migrations:diff
$ php app/console doctrine:migrations:migrate
一切正常。 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
但是,如果我從XML映射刪除覆蓋設置,一切工作正常。
我不知道,什麼是你的問題。 – 2013-03-21 09:07:28
下面是我解決它的方式..你可以試試這個: http://stackoverflow.com/a/17059918/2342137 – Tim 2013-06-12 07:35:05
我有同樣的問題。我使用註釋覆蓋相同的屬性,並沒有意識到有一個問題,直到我嘗試使用教條:生成:實體。你有沒有找到解決方案? – d0001 2013-10-02 02:37:51