我正在构建一个 ZF2+Doctrine2 Web 应用程序,并且我已经在我的实体存储库中实现了缓存。
public function findActive()
{
$query = $this->_em->createQueryBuilder();
$query->select('r')
->from('Admin\Entity\Brands', 'r')
->where('r.deleted = false')
->orderBy('r.name', 'ASC');
return $query->getQuery()
->useResultCache(true, 7200, 'brands_find_active')
->getResult();;
}
我一直无法弄清楚如何为查找查询注入缓存逻辑。
就像我有一个带有 role_id 的用户表,它链接到角色表并且我执行了一个getRole()->getRoleName()
调用。这会导致对角色表进行额外的 sql 查询。如何缓存整个查询/递归?