Symfony2 でエンティティの継承を使用する際に問題があります。ここに私の2つのクラスがあります:
use Doctrine\ORM\Mapping as ORM;
/**
* @Orm\MappedSuperclass
*/
class Object
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
}
/**
* @Orm\MappedSuperclass
*/
class Book extends Object
{
}
php app/console doctrine:schema:createを実行すると、次のエラーが発生します。
[Doctrine\ORM\Mapping\MappingException]
Duplicate definition of column 'id' on entity 'Name\SiteBundle\Entity\Book' in a field or discriminator column mapping.
何が原因でしょうか?
ありがとう :)
アップデート:
そうです、私はこれを見逃しました。現在、両方のクラスがエンティティである単一テーブルの継承を使用しています。
/**
* @Entity
* @InheritanceType("SINGLE_TABLE")
* @DiscriminatorColumn(name="discr", type="string")
* @DiscriminatorMap({"object" = "Object", "book" = "Book"})
*/
しかし、それでも同じエラーメッセージが表示されます。