【问题标题】:laravel - how to sort by grouped after get()laravel - 如何在get()之后按分组排序
【发布时间】:2022-01-18 13:12:22
【问题描述】:

此查询运行良好。它根据 groupBy 方法得出每个城市的总数。

$cities = Washticket::whereDate('used_at', $date)
                      ->get()
                      ->groupBy('place_used.state');

现在我想要排序的列表首先显示最大的数字。

我该怎么做?

【问题讨论】:

标签: php laravel eloquent


【解决方案1】:

你可以使用 orderBy

$cities = Washticket::query()
    ->whereDate('used_at', $date)
    ->orderBy('place_used.state', 'desc)
    ->groupBy('place_used.state')
    ->get();

【讨论】:

  • @RuiCosta 这也是我的首选解决方案。
  • @anderlaini ->orderBy('place_used.state', 'desc' ) 缺失 -> `
  • 在order by前做group by
  • 如果该列不存在,那么您的第一个查询将无法正常工作。将该列替换为您需要的列
  • 另外,你不需要::query();您可以从 Washticket::whereDate() 开始。 ::query() 非常有用,如果您想开始查询和链接事物,例如 $query = Washticket::query();,然后是 $query->where(...),等等。
猜你喜欢
  • 2023-02-13
  • 2011-07-04
  • 1970-01-01
  • 2014-12-10
  • 2022-01-09
  • 2021-09-03
  • 2017-09-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多