既存のスキーマで動作する必要がある新しい Symfony プロジェクトで FOSUserBundle を使用しています。私のユーザー エンティティは、説明にあるように FOS\UserBundle\Entity\User を拡張しますが、メール列の名前は「email」ではなく「email_addr」です。親が $email を定義しているため、注釈を添付するために再宣言することはできません。
/**
* @var string $emailAddr
*
* @ORM\Column(name="email_addr", type="text", nullable=false)
*/
protected $email;
私が得る例外は次のとおりです。
[Doctrine\ORM\Mapping\MappingException]
Property "email" in "Foo\DataBundle\Entity\User" was already declared, but it must be declared only once
私の質問は次のいずれかです。
- Doctrine2 サブクラスはどのように注釈を使用して、親で定義されたものを変更できますか?
- または、FOSUserBundle の列名をオーバーライドするにはどうすればよいですか?