我的数据库结构如下:
工作:
- CTI表工作
- MappedSuperclass表AbstractImageWork扩展Work
- 扩展AbstractImageWork的决赛桌PhotoWork
评论:
- MappedSuperclass表注释
- 扩展评论的决赛桌WorkComment
WorkComment与Work具有 ManyToOne 关系:
@ManyToOne(targetEntity="Work", inversedBy="comments")
Work与WorkComment具有 OneToMany 关系:
@OneToMany(targetEntity="WorkComment", mappedBy="work")
问题是 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'.
我想这与夹在Work和PhotoWork中间的 MappedSuperclass AbstractImageWork有关,但我实际上并没有将这种关系放在 MappedSuperclass 上,而是放在 CTI 表上.. 那么为什么 Doctrine 会这样呢?
有任何想法吗?