$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();
但它不起作用
答案 0 :(得分:1)
getResult()
方法返回结果数组。要计算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);
如果要对查询进行分页,那么在计算总行数时,您需要执行两个查询。一个用于分页结果,另一个用于计算数据库中的所有行。