我在学说文档中读到了以下内容,这对我来说并不重要:“当使用orphanRemoval = true选项时,Doctrine会假设这些实体是私有的,不会被其他实体重用。”
这里是您可以在其上下文中找到句子的链接。 doctrine offical documentation
有人可以在实体之间的ManyToMany关系中给我一个私有实体的例子吗?
答案 0 :(得分:1)
想象一下,您将某些用户设置存储在Settings
实体中,该实体通过一对多或一对一关系附加到User
实体,{{1}实体不会在多个用户之间共享,如果被引用的用户被删除也不会被重用,你可以说Settings
由Settings
私有,并且如果{{1}将成为孤儿}}被删除,User
会在其“母亲”User
实体被删除时删除orphanRemoval=true
,从而阻止这种情况发生。
关于你可能会感兴趣的其他一些问题:
关于多对多关系,您可以对此类关系使用Settings
,并且Doctrine将简单地删除附加实体,即使它们仍然附加到其他实体。
请注意,即使此选项适用于“多对多”关系,但这种关系并未正式记录:
我认为没有任何关于多对多关系的私有实体的例子,或者它不会是多对多,但是Doctrine只是做出假设它是,并且将继续删除附加的实体。