首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是DQL吗?

这是DQL吗?
EN

Stack Overflow用户
提问于 2020-08-29 20:54:05
回答 1查看 31关注 0票数 0
代码语言:javascript
复制
$query = $this->em->createQueryBuilder();

$query->select('(case when (e.startDate>=CURRENT_DATE()) then count(es.event)  END) upComingEvent);
$query->from('Entities\ES','es')
    ->leftjoin('Entities\E', 'e', 'with', 'e.id=es.event');
$query->addGroupBy('es.userId');

$query->addOrderBy('upComingEvent' , 'desc');

我试图找到任何用户即将发生的事件,并编写这个引发异常的DQL。

Uncaught 'Doctrine\ORM\Query\QueryException与消息“在dql上打印”

EN

回答 1

Stack Overflow用户

发布于 2020-08-30 19:29:43

我认为您需要更正case子句,并在count()方法中移动case语句,以便只计算符合条件的行。

代码语言:javascript
复制
$query->select('count(case when e.startDate>=CURRENT_DATE() then 1 end) upComingEvent);

Formulating complicated Doctrine2 DQL query

或使用conditional sum()

代码语言:javascript
复制
$query->select('sum(case when e.startDate>=CURRENT_DATE() then 1 else 0 end) upComingEvent);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63651701

复制
相关文章

相似问题

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