首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在原则本机查询中使用SQL函数

在原则本机查询中使用SQL函数
EN

Stack Overflow用户
提问于 2013-11-14 09:28:52
回答 1查看 1K关注 0票数 1

我想在Doctrine原生查询中使用SUM函数,但是我总是得到空的结果。这是我的代码:

代码语言:javascript
复制
    $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函数,代码就会工作:

代码语言:javascript
复制
    $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
    );

有人能查出我错过了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-14 10:04:19

你能试试这个吗?

代码语言:javascript
复制
$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();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19973933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档