如何强制原则从数据库重新加载数据?

2024-02-29

我在 symfony2.1 安装中使用doctrine/mongodb 1.0.0-BETA1。

因此,我试图强制我的存储库从数据库调用数据,而不是使用它已缓存的对象。

$audit = $dm->getRepository("WGenSimschoolsBundle:Audit")->findOneById("xxxx");

.... do something somewhere to change the object ....

此时如果我打电话

$audit = $dm->getRepository("WGenSimschoolsBundle:Audit")->findOneById("xxxx");

审计数据未发生变化。它仍然保留着最初获取的对象。如果我尝试

$dm->refresh($audit) 

我也得到同样的结果。我是否可以返回数据库获取该值?


您是否已将更改刷新到$audit object?

$audit = $dm->getRepository("WGenSimschoolsBundle:Audit")->findOneById("xxxx");
//do something somewhere to change the object
$dm->flush();

每次你做一个findBy(...) or findOneBy(...)它实际上从数据库中获取一个新文档。 (您应该在 Symfony 分析器中看到该查询)

使用 find() 代替,它将从其内部代理缓存中获取文档。 文档将保留在代理缓存中,直到您调用$dm->clear() method.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何强制原则从数据库重新加载数据? 的相关文章

随机推荐