Tôi gặp sự cố khi ghi đè thực thể. Tôi cần trường emailCanonical
để không phải là duy nhất.Symfony2 FOSUserBundle Ghi đè trường đối tượng người dùng
Đây là những gì tôi đã thực hiện: Trong tôi UserBundle\Resources\config\doctrine\User.orm.xml
Tôi đã thêm các cấu hình attribute-overrides
sau, theo các tài liệu Doctrine2
<attribute-overrides>
<attribute-override name="emailCanonical">
<field column="email_canonical" unique="false" name="emailCanonical" />
</attribute-override>
</attribute-overrides>
Sau đó, tôi chạy giao diện điều khiển sau lệnh
$ php app/console doctrine:migrations:diff
$ php app/console doctrine:migrations:migrate
Mọi thứ hoạt động tốt. emailCanonical
được tạo thành không độc đáo. Nhưng bây giờ, khi tôi cần phải tạo ra một thực thể trong bó khác của dự án, tôi có một lỗi lạ:
$ 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
Tuy nhiên, nếu tôi loại bỏ các thiết lập ghi đè từ mapping xml, mọi thứ đều hoạt động tốt.
tôi không chắc chắn, câu hỏi của bạn là gì. –
Đây là cách tôi giải quyết nó .. bạn có thể thử điều này: http://stackoverflow.com/a/17059918/2342137 – Tim
Tôi có cùng một vấn đề. Tôi đã sử dụng chú thích để ghi đè lên cùng thuộc tính và không nhận ra có sự cố cho đến khi tôi thử sử dụng doctrine: generate: entity. Bạn đã bao giờ tìm thấy một giải pháp? – d0001