嗨,我对symfony的新观点是放纵plz,这是我的代码
public function countTicket()
{
$qb = $this
->createQueryBuilder('t')
->innerJoin('t.visitors', 'v')
->Select("count(v.id)")
->where('t.visitDate IS NOT NULL')
->groupBy('t.visitDate')
;
return $qb
->getQuery()
->getScalarResult();
}
当我转储countTicket()时,它会返回我所有的Id实体,所有visitDate中的组,这是正常的,但我只想返回上次提交的计数(v.id)我提交并且我不要# 39;不知道该怎么做。
感谢您的帮助。
答案 0 :(得分:0)
您应该使用getSingleScalarResult()
代替getScalarResult()
,并将查询限制为仅提取最后一个结果,如下所示:
public function countTicket()
{
return $this
->createQueryBuilder('t')
->innerJoin('t.visitors', 'v')
->select('count(v.id)')
->where('t.visitDate IS NOT NULL')
->orderBy('t.visitDate', 'desc')
->groupBy('t.visitDate')
->setMaxResults(1)
->getQuery()
->getSingleScalarResult();
}