我正在尝试更新我的数据库架构,但我收到以下错误:
[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
实体是单表继承的具体类,我存储了所有内容,例如。 Page
,Blog
等
在Content
实体中,我one-to-many
实体与Attachment
实体的关系如此:
/**
* @var ArrayCollection|Attachment
*
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Attachment", mappedBy="content")
*/
protected $attachments;
当然还有Attachment
实体我有:
/**
* @var Content
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Content", inversedBy="attachments")
*/
private $content;
一些STI实体扩展了Content
个实体,但其中一些实体扩展了抽象ListContent
,它被定义为mapped superclass
并且还有一些额外的字段。
我希望能够从扩展attachments
的实体以及扩展Content
的实体访问ListContent
,以便我将one-to-may
关联放到Content
自ListContent
扩展它以来{1}}实体。
我一直在寻找解决方案,但我只能找到这个Doctrine2: OneToMany on mapped superclass,因为我不想在我的ListContent
上定义关系,所以我不适合。
有没有人遇到过这个问题?你是怎么解决的?