【发布时间】:2015-10-23 08:55:00
【问题描述】:
我在 Doctrine2 中发生了几个更新,每个更新都在一个事务中。
此代码的末尾是一个 Select 查询,它使用 JMSSerializerBundle 返回大量数据。但是从 JMSSerializerBundle 返回的 JSON 中不存在一些更新。
我认为它与 JMSSerializerBundle 无关。
但更多与 Doctrine2 相关。如果我再次运行选择查询,那么数据就在那里。所以它就在那里,只是没有在同一个 HTTP 调用中返回。
代码相对简单,所以我没有包括在内,这更多是一个关于理解更新数据可能会发生什么而有些不显示的问题。
事务应该在选择查询发生时完成,不是吗?
顺序如下:
- 开始交易
- 对实体进行更改
- 坚持
- 刷新
- 提交
【问题讨论】:
-
你是否对实体进行了持久化()?
-
是的,刚刚为你编辑了我的 Q。
-
对不起,我应该改写;你确定你坚持了吗? :D 我已经做了很多次修改,但后来完全忘记了坚持或坚持在错误的地方。如果没有代码示例,它可能首先要查看。
-
是的。因为如果我不这样做,它就根本不起作用,即使是在随后的请求中?
-
这真的取决于你如何实现它(即我发现我错过的最常见的领域是在循环中)。同样,没有代码很难发现。
标签: php mysql symfony doctrine-orm