相关疑难解决方法(0)

Doctrine2:映射超类的OneToMany

我的数据库结构如下:

工作:

  • CTI工作
  • MappedSuperclassAbstractImageWork,它扩展了Work
  • 决赛桌PhotoWork,它扩展了AbstractImageWork

评论:

WorkCommentWork的ManyToOne关系:

@ManyToOne(targetEntity="Work", inversedBy="comments")
Run Code Online (Sandbox Code Playgroud)

WorkWorkComment有一个OneToMany关系:

@OneToMany(targetEntity="WorkComment", mappedBy="work")
Run Code Online (Sandbox Code Playgroud)

问题是Doctrine在更新架构时给了我这个错误:

[Doctrine\ORM\Mapping\MappingException]
It is illegal to put an inverse side one-to-many or many-to-many association on
mapped superclass 'Acme\...\AbstractImageWork#comments'.
Run Code Online (Sandbox Code Playgroud)

我想这与MappedSuperclass 抽象图像工作有关,它位于WorkPhotoWork之间,但我实际上并没有将这种关系放在MappedSuperclass上,而是放在CTI表上.那么为什么Doctrine会这样呢?

有任何想法吗?

relationship class-table-inheritance mappedsuperclass doctrine-orm

8
推荐指数
1
解决办法
4183
查看次数