use*_*861 6 php symfony doctrine-orm
我在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
{
}
Run Code Online (Sandbox Code Playgroud)
当我运行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.
Run Code Online (Sandbox Code Playgroud)
可能是什么导致了这个?
谢谢 :)
你是对的我错过了这个.现在我使用单表继承,两个类都是实体:
/**
* @Entity
* @InheritanceType("SINGLE_TABLE")
* @DiscriminatorColumn(name="discr", type="string")
* @DiscriminatorMap({"object" = "Object", "book" = "Book"})
*/
Run Code Online (Sandbox Code Playgroud)
但我仍然得到相同的错误消息.
实际上我在Resources/config/doctrine /中找到了yml文件,它们定义了我的实体,而不仅仅是使用注释.
我删除了这些文件,现在正在运行.
谢谢你的帮助 !
| 归档时间: |
|
| 查看次数: |
10633 次 |
| 最近记录: |