使用 Symfony 2 我构建了一个页面,登录用户可以在其中更新详细信息。为此,在 profileAction 下的控制器中,我使用 dotorine 通过从会话中获取用户 ID 来获取用户。
$user = $this->getUser();
$entity = $em->getRepository('GibboCodeKeeperBundle:User')->find($user->getId());
然后我将 $entity 对象绑定到一个表单,但是当提交表单时,现在在绑定的 $entity 对象中更新的所有内容也会在会话中的 $user 对象中更改。反之亦然,如果我刷新 $user 对象,$entity 也会被刷新:S。
我想让 $entity 代表从表单内部返回的内容,并让 $user 代表在尝试持久化之前数据库中当前的内容,这样我就可以看到用户更新了什么。