$em = $this->getDoctrine()->getEntityManager();
$qb = $em->createQueryBuilder();
$tickets = $qb->select('COUNT(ticket.id)')->from('MyBundle:Ticket', 'ticket');
var_dump($tickets->getQuery()->getSingleScalarResult());
返回
array(1) {
[0]=>
array(1) {
[1]=>
string(3) "125"
}
}
但是在数据库中只有5个条目。有什么想法怎么了?
var_dump($tickets->getQuery()->getSql());
给出
从票证T1_,T2_,TYT T0_选择Count(T0_.ID)为SCLR0 t0_.id订单的组T2_.CREATED_AT ASC限制1
您可以尝试:
$em = $this->getDoctrine()->getEntityManager();
$query = "SELECT count(s) FROM MyBundle:Ticket s ";
$queryObj = $em->createQuery($query);
$result = $queryObj->execute();
我没有测试此代码。但它应该起作用。
实际上在此查询之前,还有两个查询使用相同的查询构建器实例。这可能是问题所在。我删除查询,现在计数查询工作正常。