我的数据库结构如下:
工作:
评论:
WorkComment 与 Work 有ManyToOne关系:
@ManyToOne(targetEntity="Work", inversedBy="comments")
工作与 WorkComment 有一个一对多的关系:
@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'.
我猜想这与MappedSuperclass AbstractImageWork 有关,该问题卡在 Work 和 PhotoWork 之间,但是我实际上没有将此关系放在MappedSuperclass上,而是在CTI表上。表现得像这样吗?
有任何想法吗?
最佳答案
在某些情况下,当您从标记为@ORM\MappedSuperclass
的类继承时遇到此类错误时,请尝试将属性访问级别从私有(private)更改为保护的
关于doctrine-orm - Doctrine2 : OneToMany on mapped superclass,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13124225/