我正在使用doctrine 2.4开发symfony 2.5项目.
我想缓存查询结果的缓存ID和缓存时间,所以我可以删除缓存结果,只要管理员需要.
我能够使用“createQueryBuilder()”选项缓存查询结果.
例:
$this->createQueryBuilder('some_table') ->select('some_table') ->where('some_table.deleted_date IS NULL') ->getQuery() ->useResultCache(true) ->setResultCacheLifetime(120) //Query Cache lifetime ->setResultCacheId($queryCacheId) //Query Cache Id ->getResult();
但我无法找到与“findOneBy()”选项的chache查询结果类似的方法.
例:
$this->findOneBy(array('some_field'=>$some_value));
我正在寻找一些合适的解决方案,非常感谢任何帮助.
您需要将每个findBy *或findOneBy *函数重新定义到自定义存储库中:这是doctrine2默认行为不考虑这种情况的唯一方法.
不幸的是,由你决定.
原文链接:https://www.f2er.com/php/136203.html不幸的是,由你决定.
Ocramius(Doctrine2 devel)也在这里说https://groups.google.com/d/msg/doctrine-user/RIeH8ZkKyEY/HnR7h2p0lCQJ