首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何迭代进入SUM查询中的SUM结果

如何迭代进入SUM查询中的SUM结果
EN

Stack Overflow用户
提问于 2016-01-06 04:54:44
回答 2查看 398关注 0票数 1

我需要一些关于迭代结果理论的帮助。这是我的查询代码:

代码语言:javascript
复制
$consulta = $em->createQuery('
SELECT bcr, SUM(bcr.volumenAlmacenado) as vol, SUM(bcr.pesoAlmacenado) as pes 
FROM ResiduoBundle:BodegaContieneResiduo bcr 
WHERE bcr.fechaIngreso BETWEEN :fechaP AND :fechaA AND bcr.fechaRetiro IS NULL 
GROUP BY bcr.idResiduo
'); 
        $consulta->setParameter('fechaA', $fechaActual);
        $consulta->setParameter('fechaP', $fechaPasada);
        return $consulta->getResult();

当我在mysql中运行时,返回没有问题。在symfony中也得到了结果。现在,当我尝试在twig中循环时,我想可能是因为我的查询中的agregate函数。我希望你能给我一点线索或其他的东西。Grettings

EN

回答 2

Stack Overflow用户

发布于 2016-01-06 14:30:13

你应该添加mysql函数的扩展SUM,然后你可以在规则查询中使用SUM函数,另一种方法是直接执行你的查询或规则的原生查询,尝试下面的查询,就可以得到结果

代码语言:javascript
复制
$consulta = $em->executeQuery('SELECT bcr, SUM(bcr.volumenAlmacenado) as vol, SUM(bcr.pesoAlmacenado) as pes FROM ResiduoBundle:BodegaContieneResiduo bcr WHERE bcr.fechaIngreso BETWEEN :fechaP AND :fechaA AND bcr.fechaRetiro IS NULL GROUP BY bcr.idResiduo'), 
        array('fechaA'=> $fechaActual, 'fechaP' => $fechaPasada));
        return $consulta->fetchAll();
票数 0
EN

Stack Overflow用户

发布于 2016-01-06 14:35:54

您还可以使用规则的原生查询

代码语言:javascript
复制
use Doctrine\ORM\Query\ResultSetMapping;

$rsm = new ResultSetMapping();
$rsm->addEntityResult('ResiduoBundle:BodegaContieneResiduo', 'bcr');
$rsm->addFieldResult('bcr', 'idResiduo', 'idResiduo');
$rsm->addFieldResult('bcr', 'volumenAlmacenado', 'vol');
$rsm->addFieldResult('bcr', 'pesoAlmacenado', 'pes');

$sqlQuery = "SELECT bcr.idResiduo as idResiduo, SUM(bcr.volumenAlmacenado) as vol, SUM(bcr.pesoAlmacenado) as pes
        FROM ResiduoBundle:BodegaContieneResiduo bcr
        WHERE bcr.fechaIngreso BETWEEN :fechaP AND :fechaA
        AND bcr.fechaRetiro IS NULL 
        GROUP BY bcr.idResiduo";
$query = $em->createNativeQuery($sqlQuery, $rsm)
     ->setParameter('fechaA', $fechaActual);
     ->setParameter('fechaP', $fechaPasada);
$query->getResult();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34621071

复制
相关文章

相似问题

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