Inheritance 映射超类上一对多关系的逆边
我正在尝试更新数据库架构,但出现以下错误:Inheritance 映射超类上一对多关系的逆边,inheritance,doctrine-orm,one-to-many,Inheritance,Doctrine Orm,One To Many,我正在尝试更新数据库架构,但出现以下错误: [Doctrine\ORM\Mapping\MappingException] It is illegal to put an inverse side one-to-many or many-to-many association on
[Doctrine\ORM\Mapping\MappingException]
It is illegal to put an inverse side one-to-many or many-to-many association on mapped superclass 'AppBundle\Entity\ListContent#attachments'.
我有以下实体层次结构:
Content
实体是用于单表继承的具体类,我在其中存储所有内容,例如页面
,博客
,等等
在内容
实体中,我有一对多
与附件
实体的关系,如下所示:
/**
* @var ArrayCollection|Attachment
*
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Attachment", mappedBy="content")
*/
protected $attachments;
当然,关于附件
实体,我有:
/**
* @var Content
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Content", inversedBy="attachments")
*/
private $content;
一些STI实体扩展了内容
实体,但其中一些实体扩展了抽象列表内容
,后者定义为映射超类
,并具有一些附加字段
我希望能够访问附件
,既可以访问扩展内容的实体
,也可以访问扩展列表内容
的实体,因此我将与内容
实体关联,因为列表内容
正在扩展它
我一直在寻找解决方案,但我只能找到这个,它不适合我,因为我不想在我的ListContent
上定义关系
有人遇到过这个问题吗?您是如何解决的?首先我会尝试将private$内容更改为protected,其次是在manytone关系中包含joinColumn,如下所示:@joinColumn(name=“customer\u id”,referencedColumnName=“id”)
。在这里看到更多不幸的是,这似乎不起作用。扩展内容的抽象类ListContent
出现问题。字段附件
在内容
类上定义,但错误是提到列表内容
。。。有什么想法吗?@Cockootec你找到解决办法了吗?