【问题标题】:Laravel Eloquent GroupBy statementLaravel Eloquent GroupBy 声明
【发布时间】:2017-08-02 01:21:48
【问题描述】:

我有这张表,我正在尝试通过 Laravel 实现多个 groupBydistinct 以及持续时间的总和。基本上,我需要在表中找到从控制器传递的多个 id,然后如果窗口、方法和类型相同,则对持续时间值求和。

这是表结构

+-----+---------+--------+----------+------+
| ids | windows | method | duration | type |
+-----+---------+--------+----------+------+
|  1  |    2    |    3   |     5    |   2  |
+-----+---------+--------+----------+------+
|  2  |    2    |    3   |     5    |   2  |
+-----+---------+--------+----------+------+
|  3  |    2    |    3   |     5    |   2  |
+-----+---------+--------+----------+------+

这是我尝试使用的语句:

$tickets_g = \App\Models\Ticked::whereIn('id', $tickets)
    ->select('categoria', 'tipologia', 'priority', 'durata')
    ->distinct()
    ->GroupBy('categoria')
    ->GroupBy('tipologia')
    ->GroupBy('priority')
    ->sum('durata')
    ->get();

谁能帮我弄清楚?

【问题讨论】:

    标签: laravel laravel-5 eloquent


    【解决方案1】:

    如果有人遇到同样的问题,这是正确的查询:

      $tickets_g = \App\Models\Ticked::select('support_ticked.*', DB::raw("SUM(support_ticked.durata) as durata_totale"))
    ->groupBy('support_ticked.tipologia','support_ticked.priority', 'support_ticked.categoria')
    ->get(); 
    

    【讨论】:

      猜你喜欢
      • 2020-06-24
      • 2014-09-13
      • 2014-12-25
      • 1970-01-01
      • 2022-01-21
      • 2018-07-25
      • 2021-04-21
      • 1970-01-01
      • 2021-10-26
      相关资源
      最近更新 更多