gpt4 book ai didi

php - 如何在 Symfony 2.4 中使用缓存 id 和缓存生命周期选项缓存学说 "findOneBy()"查询?

转载 作者:行者123 更新时间:2023-12-03 00:14:40 26 4
gpt4 key购买 nike

我正在使用原则 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()”选项的查询结果。

示例:

$this->findOneBy(array('some_field'=>$some_value));

我正在寻找一些合适的解决方案,非常感谢任何帮助。

最佳答案

您需要将每个 findBy* 或 findOneBy* 函数重新定义到自定义存储库中:这是唯一的方法,因为doctrine2默认行为没有考虑这种情况。不幸的是,这取决于你。

还有 Ocramius(Doctrine2 开发者)在这里说一下 https://groups.google.com/d/msg/doctrine-user/RIeH8ZkKyEY/HnR7h2p0lCQJ

关于php - 如何在 Symfony 2.4 中使用缓存 id 和缓存生命周期选项缓存学说 "findOneBy()"查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28668093/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com