计算 doctrine 2 zf2 中查询返回的总行数

count total rows returned by query in doctrine 2 zf2

$countQuery = $qb->select('q.id,d.name,d.numbers')
            ->from('Application\Entity\quests', 'q');
            ->leftJoin('q.dots', 'd');
$query1 = $countQuery->getQuery()->getResult();

现在我如何获得返回的结果总数 **i don't want to write 2 queries** bcz 它会增加执行时间 我试过了

 $countQuery = $qb->select('count(q.id) as total_results,d.name,d.numbers')
            ->from('Application\Entity\quests', 'q');
            ->leftJoin('q.dots', 'd');
$query1 = $countQuery->getQuery()->getResult();

但它不起作用

getResult()方法returns结果数组。要计算 getResult() 方法返回的总结果,只需使用 PHP 函数 count.

对其进行计数
$countQuery = $qb
    ->select('q.id,d.name,d.numbers)
    ->from('Application\Entity\quests', 'q')
    ->leftJoin('q.dots', 'd');

$query1 = $countQuery->getQuery()->getResult();

$totalResults = count($query1);

如果您想对查询进行分页,那么在计算总行数的情况下,您需要执行两个查询。一个用于分页结果,另一个用于计算数据库中的所有行。