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

tom*_*lin 2 orm symfony doctrine-orm

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

问题:

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

    $entityManager->flush($user);

  • 但是 User 没有更改任何属性,只有它的 Profile 发生了更改。

  • 我已经在用户对象内的配置文件属性上设置了级联 ={"persist"}。

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

  • $entityManager->flush();

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

Hpa*_*oio 5

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

$entityManager->flush($profile);