繁体   English   中英

如何计算DQL查询返回的行数?

[英]How can I count the numbers of rows that a DQL query returned?

我想计算从DQL查询返回的行数,我该怎么做? 这是我的DQL查询:

$items=$em->createQuery("select i.unitPrice,i.quantity,i.linetotal,i.description from InvoicesInvoicesBundle:Invoiceshasitems i where i.invoiceid='".$id."'");
$itemdata=$items->getResult();

使用Count()

$items=$em->createQuery("select COUNT(i.unitPrice)
                         from InvoicesInvoicesBundle:Invoiceshasitems i
                          where i.invoiceid='".$id."'");
    $itemdata=$items->getResult();

http://docs.doctrine-project.org/en/2.1/reference/dql-doctrine-query-language.html

如果您经常在DQL上工作,则应在上面的链接上加上书签。

试试这个代码

 $qbTotal = $this->em->createQueryBuilder();
 $qbTotal->select('count(i)')
            ->from('InvoicesInvoicesBundle:Invoiceshasitems', 'i')
            ->where('i.invoiceid = :id')
            ->setParameter('id', $id)
             ;

 $qeuryTotal = $qbTotal->getQuery();
 $totalItems = $qeuryTotal->getSingleScalarResult();

好吧,尽管@Praveesh中有一些错字,但答案是正确的。 应该是:id而不是?id。

但是此链接为我赢得了680次,因此我非常确定它是正确的: 在Doctrine QueryBuilder中对行进行计数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM