首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原则2.0 NativeQuery ResultSetMapping for count(id)

原则2.0 NativeQuery ResultSetMapping for count(id)
EN

Stack Overflow用户
提问于 2012-05-21 19:09:18
回答 1查看 3.2K关注 0票数 0

我从NativeQuery生成一个SQL,结果是sql:

按年份( created_at )、月( created_at )、日(Created_at)从属性中选择计数(Id)作为tot、created_at在'20120501000000‘和'20120521235959’之间;

这是我的ResultSetMapping:

代码语言:javascript
复制
$rsm = new \Doctrine\ORM\Query\ResultSetMapping;
$rsm->addEntityResult('Entity\Property', 'p');
$rsm->addFieldResult('p','count(id)','tot'); // <-- this don't work
$rsm->addFieldResult('p','created_at','created_at');

在mysql上直接运行上述查询的结果是可以的:

代码语言:javascript
复制
tot created_at
11  2012-05-02 11:23:25
11  2012-05-08 14:56:40
152 2012-05-16 14:43:46
5   2012-05-17 16:26:31
29  2012-05-18 14:55:33

但是结果数组tot别名不存在!!

问题是:

如何正确地为count(id)设置

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-29 12:49:03

我试着:

代码语言:javascript
复制
$rsm->addFieldResult('p', 'tot', 'tot');

作为您的列,并将其重命名为带有COUNT(id) AS tot。如果删除tot别名,则可以使用原始代码:

代码语言:javascript
复制
$rsm->addFieldResult('p', 'COUNT(id)', 'tot');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10691139

复制
相关文章

相似问题

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