我在Symfony2中使用实体继承时遇到问题.这是我的两个班级:
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"}) */
但我仍然得到相同的错误消息.