Doctrine2实体管理器刷新不更新关联实体

时间:2015-09-03 09:59:51

标签: symfony orm doctrine-orm

描述: 我有一个User实体,它有一个Profile实体。

问题:

  • 我从数据库加载用户,并仅更改其配置文件中的某些属性。
  • 我打电话:

    $ entityManager->齐平($用户);

  • 但是用户没有更改任何属性,只更改了配置文件。

  • 我在用户对象内的个人资料属性上设置了cascade = {“persist”}。

如果我打电话,一切正常:

  • $ entityManager->冲洗();

注意:没有对象本身。我真的不想在没有对象作为参数的情况下这样做,因为我可能会刷新其他实体中的其他一些更改,我不知道特别的时刻。看起来当有人用对象作为参数调用flush方法时,它不知道级联持久性。任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

由于您正在修改配置文件而不是您应该使用的用户:

$entityManager->flush($profile);