我想在Doctrine本机查询中使用SUM函数,但结果一直为空。这是我的代码:
$em = $this->getDoctrine()->getManager();
$rsm = new ResultSetMapping();
$rsm->addEntityResult('AndreiStatisticsBundle:Visit', 'v');
$rsm->addScalarResult('counter', 'counter');
$rsm->addScalarResult('created_at', 'created_at');
$query = $em->createNativeQuery(
'SELECT SUM(counter) FROM visits GROUP BY created_at',
$rsm
);
很有意思,因为如果我不使用SUM函数,代码将起作用:
$em = $this->getDoctrine()->getManager();
$rsm = new ResultSetMapping();
$rsm->addEntityResult('AndreiStatisticsBundle:Visit', 'v');
$rsm->addScalarResult('counter', 'counter');
$rsm->addScalarResult('created_at', 'created_at');
$query = $em->createNativeQuery(
'SELECT counter FROM visits GROUP BY created_at',
$rsm
);
有人可以找出我想念的东西吗?
你可以试试这个吗?
$em = $this->getDoctrine()->getManager();
$repository = $em->getRepository('AndreiStatisticsBundle:Visit');
$qb = $repository->createQueryBuilder('v');
$qb->select('SUM(v.counter) AS counterSum');
$qb->groupBy('v.created_at');
$count = $qb->getQuery()->getSingleScalarResult();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句