php – Symfony2:字段或标识符列映射中实体上列’id’的重复定义

前端之家收集整理的这篇文章主要介绍了php – Symfony2:字段或标识符列映射中实体上列’id’的重复定义前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在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"})
 */

但我仍然得到相同的错误消息.

实际上我在Resources / config / doctrine /中找到了yml文件,它们定义了我的实体,而不仅仅是使用注释.

删除了这些文件,现在正在运行.

谢谢你的帮助 !

猜你在找的PHP相关文章