gpt4 book ai didi

php - Doctrine- 按日期分组

转载 作者:行者123 更新时间:2023-11-29 01:19:44 25 4
gpt4 key购买 nike

我有这个问题:

SELECT DATE_FORMAT(exp_date, "%Y-%m") AS Month, sum(exp_total) FROM export
GROUP BY DATE_FORMAT(exp_date, "%Y-%m");

我尝试将其转换为 Symfony 原则,如下所示:

$qb = $this
->createQueryBuilder('e')
->select('DATE_FORMAT(e.expDate, \'%Y-%m\'), sum(e.expTotal) total')
->groupBy('DATE_FORMAT(e.expDate, \'%Y-%m\')');
return $qb->getQuery()->getResult();

使用:

"beberlei/DoctrineExtensions": "^1.0"

Error: [Semantical Error] line 0, col 103 near 'DATE_FORMAT(e.expDate,': Error: Cannot group by undefined identification or result variable.

最佳答案

我假设您已经配置了提到的包并添加了所需的 configuration喜欢

doctrine:
orm:
dql:
datetime_functions:
date_format: DoctrineExtensions\Query\Mysql\DateFormat

现在在查询中你可以为 DATE_FORMAT 表达式的结果分配一个别名作为 dateAsMonth 并且在 group by 你可以使用这个别名

return $qb =   $this->createQueryBuilder('e')
->select('DATE_FORMAT(e.expDate, \'%Y-%m\') as dateAsMonth, sum(e.expTotal) total')
->groupBy('dateAsMonth')
->getQuery()
->getResult();

关于php - Doctrine- 按日期分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48046311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com