【问题标题】:How to groupBy by created column?如何按创建的列分组?
【发布时间】:2022-01-17 14:16:33
【问题描述】:
$qb = $this->createQueryBuilder('o')
            ->select('u.id as user_id', 'u.username as username', 'u.companyName', 'month(o.checkedAt) as month', 'identity(l.productCategory) as product_category',
                'a.street', 'a.zip', 'a.apartmentNo', 'a.city', 'a.streetNo')
            ->join(User::class, 'u', Join::WITH, 'o.user = u')
            ->join(UserAddress::class, 'a', Join::WITH, 'u.id = a.user')
            ->join(OrderLens::class, 'l', Join::WITH, 'l.order = o.id')
            ->groupBy('o.user')
            ->addGroupBy('month');
[...]

我收到通知:未定义索引:月 如何按这两个变量对记录进行分组? 没有 ->groupBy('month') 它可以 100% 正确工作

【问题讨论】:

  • 我想按这个值分组:'month(o.checkedAt) as month'

标签: php sql symfony doctrine


【解决方案1】:

编辑:我没有看到您已经添加了month(o.checkedAt) as month,您可以删除我之前所说的内容,然后使用另一个别名编辑您的 addGroupBy。

更改您的 month(o.checkedAt) 使用的别名

$qb = $this->createQueryBuilder('o')
            ->select('u.id as user_id', 'u.username as username',
               'u.companyName', 'month(o.checkedAt) as cMonth', 
               'identity(l.productCategory) as product_category',
               'a.street', 'a.zip', 'a.apartmentNo', 'a.city', 'a.streetNo')
            ->join(User::class, 'u', Join::WITH, 'o.user = u')
            ->join(UserAddress::class, 'a', Join::WITH, 'u.id = a.user')
            ->join(OrderLens::class, 'l', Join::WITH, 'l.order = o.id')
            ->groupBy('o.user')
            ->addGroupBy('cMonth');

【讨论】:

  • Got [Syntax Error] line 0, col 434: Error: Expected end of string, got ‘(’ Query: SELECT u.id as user_id, u.username as username, u.companyName, month(o.checkedAt) as month, identity(l.productCategory) as product_category, a.street, a.zip, a.apartmentNo, a.city, a.streetNo, month(o.checkedAt) FROM App\Order\Entity\Order o INNER JOIN App\User\Entity\User u WITH o.user = u INNER JOIN App\User\Entity\UserAddress a WITH u.id = a.user INNER JOIN App\Order\Entity\OrderLens l WITH l.order = o.id GROUP BY o.user, month(o.checkedAt)
猜你喜欢
  • 2023-02-06
  • 1970-01-01
  • 2021-04-30
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-11
相关资源
最近更新 更多