0

我有一个匹配文档,上面有 ReferenceMany(Scores)。当我向匹配添加新分数并返回匹配时,新分数不存在。但是,在下一个请求中,分数就在那里。如何强制 Doctrine 在同一个请求中更新我的匹配?

代码:

$match = $dm->getRepository('Match')->find($matchId);
// Save score.
$dm->persist($score);

// Add score to match
$match->addScores($score);

$dm->flush(); // <-- This doesn't help.

return $match; // <-- Is missing the new Score.
4

2 回答 2

0

我找到了两个解决我的问题的方法:

  1. 重定向到 GET 匹配,而不是在同一个请求中返回。它有效,但感觉有点尴尬。

  2. 最后做$dm->createQueryBuilder('Match') ->field('_id')->equals($id) ->refresh(TRUE) ->getQuery() ->execute();从数据库中获得刷新的匹配。

于 2012-10-10T09:08:38.650 回答
0

你试过$dm->flush();$dm->persist($score);

于 2012-10-10T11:02:37.687 回答