即使结果已缓存,Doctrine也会创建与数据库的连接

时间:2016-09-17 11:15:19

标签: doctrine symfony doctrine-1.2

在我的EntityRepository中:

public function findFirst()
{
    $qb = $this->createQueryBuilder('a');
      $qb
        ->orderBy('a.id')
        ->setMaxResults(4)
        ->where('a.valided = true')
        ->leftJoin('a.reponses', 'r')
        ->addSelect('r')
    ;
    $query = $qb->getQuery();

    $query->useQueryCache(true);
    $query->useResultCache(true);
    $query->setResultCacheLifetime(2678400); // One month
    $query->setCacheable(true);

    return $query->getSingleResult();
}

执行getSingleResult()时,doctrine会创建数据库连接。 但是,结果已经缓存:它不会执行请求。

这是浪费资源。

有什么想法吗? 谢谢!

0 个答案:

没有答案