在学说文档中,我发现:“默认情况下,没有操作是级联的。” (这里http://bit.ly/1frPyLH) 但是我的数据库实体之一仍然是持久化它的关联对象,除了它在关联中没有级联选项这一事实。 如何防止它持久存在关联的实体?
答案 0 :(得分:1)
这是真的,文档仍然没有错。 = P
如果不深入研究您的问题,您需要注意默认情况下,Doctrine应用了一个名为“可达性持久性”的概念。这意味着如果您正在创建一个新实体,并且其中一个关联已由UnitOfWork管理(已为Doctrine所知),则它将“级联”该操作。 这里的问题是你如何阅读级联。实际上,更新关联实体不是级联因素,而是因为它已经由Doctrine管理。
要解决此“问题”,您需要通过更改Change Tracking Policy来修改Doctrine处理实体的方式。
我希望这能为您提供足够的信息来解决您的问题。