php – Doctrine 1.2:禁用缓存
发布时间:2020-12-13 16:12:14 所属栏目:PHP教程 来源:网络整理
导读:与 this问题类似,我对doctrine如何缓存/保持查询结果的关系有一些问题. 现在我知道我可以通过调用refresh / refreshRelated来解决这个问题,但有没有办法暂时禁用表的水合缓存? 特别是在select中使用连接时,示例代码变为: $result2 = Doctrine_Query::creat
与
this问题类似,我对doctrine如何缓存/保持查询结果的关系有一些问题.
现在我知道我可以通过调用refresh / refreshRelated来解决这个问题,但有没有办法暂时禁用表的水合缓存? $result2 = Doctrine_Query::create() ->leftJoin('s.School sc') ->from('Student s') ->execute(); 你真的希望Doctrine使用你加入的数据,而不是使用之前选择的缓存水合结果. 有办法做到这一点吗? 提前致谢! 解决方法
我认为默认情况下它应该与查询结果保持一致,除非您更改了Doctrine_Core :: ATTR_HYDRATE_OVERWRITE.您可以使用以下方法检查值:
$doctrineManager = Doctrine_Manager::getInstance(); $val = $doctrineManager->getAttribute(Doctrine::ATTR_HYDRATE_OVERWRITE); 当您调用refresh()时,它会强制此值为true,并再次执行查询,然后恢复该设置.如果您的确是假的,可以使用$doctrineManager-> setAttribute进行更改 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |