Laravel eloquent查询获取结果groupBy(月)

时间:2014-07-24 13:25:17

标签: sql laravel eloquent

如何使用groupBy(month('start_date'))

获得结果

到目前为止我已经

    $this->data['earnings'] = DB::table('documents')
        ->leftJoin('users','users.id', '=', 'documents.users_id')
        ->leftJoin('users_editors','users_editors.user_id','=','users_id')
        ->groupBy(month ('start_date'), 'DESC')
        ->sum('amount')
        ->get();

我正在努力为所有编辑groupBy month获取收益,这些编辑将需要start_date个月开启groupBy。 感谢

1 个答案:

答案 0 :(得分:1)

为了使用(My)SQL函数,您需要原始语句,这些语句不会被PDO处理和绑定,或者在这种情况下被视为字段名称:

->groupBy(DB::raw('month(start_date)'))

为了使其按预期工作:

->selectRaw('month(start_date) as month, sum(amount) as sum')

->groupBy(DB::raw('month desc'))
// or:
->groupBy('month')
->orderBy('month', 'desc')

->get();