在教义QueryBuilder中计算行数

阿赛特

我正在使用Doctrine的QueryBuilder来构建查询,我想从查询中获取结果的总数。

$repository = $em->getRepository('FooBundle:Foo');

$qb = $repository->createQueryBuilder('n')
        ->where('n.bar = :bar')
        ->setParameter('bar', $bar);

$query = $qb->getQuery();

//this doesn't work
$totalrows = $query->getResult()->count();

我只想对此查询进行计数以获取总行,但不返回实际结果。(在此计数查询之后,我将使用maxResults进一步修改查询以进行分页。)

塞拉德

就像是:

$qb = $entityManager->createQueryBuilder();
$qb->select('count(account.id)');
$qb->from('ZaysoCoreBundle:Account','account');

$count = $qb->getQuery()->getSingleScalarResult();

有些人认为表达比仅使用直接DQL更好。甚至有人甚至编辑了一个四年的答案。我回滚了他的编辑。去搞清楚。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章