如何 return 我的最后一次计数 id queryBuilder
How to return my last count id queryBuilder
嗨,我是 symfony 的新手,请放纵一下,这是我的代码
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() 时,它 return 是我所有 Id 的实体,将所有 visitDate 归为一组,这是正常的,但我只想 return 来自的计数 (v.id)我提交的最后一次访问日期,但我不知道该怎么做。
感谢您的帮助。
您应该使用 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();
}
嗨,我是 symfony 的新手,请放纵一下,这是我的代码
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() 时,它 return 是我所有 Id 的实体,将所有 visitDate 归为一组,这是正常的,但我只想 return 来自的计数 (v.id)我提交的最后一次访问日期,但我不知道该怎么做。
感谢您的帮助。
您应该使用 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();
}