Laravel集团仅按日期到月份计算

Muh*_*'az 4 laravel-5

我有交易表:

我的表架构:

id | item_name | quantity | created_at
Run Code Online (Sandbox Code Playgroud)

我尝试了很多方法,但它不起作用(链接:Laravel Eloquent得到的结果按天分组.

我想像这样显示它:

示例:

数量:xxx月:7月

数量:xxx月:10月

数量:xxx月:11月

如何将created_at列转换为仅限月份分组,并将其显示为Word而不是数字,然后计算该月份的分组数量?

谢谢

Ann*_*him 8

    $data= Transaction::select('id', 'item_name','quantity', 'created_at')
            ->get()
            ->groupBy(function($val) {
            return Carbon::parse($val->created_at)->format('m');
     });
Run Code Online (Sandbox Code Playgroud)


小智 5

使用 eloquent date 函数仅查找日期,您可以使用 Month 来获取月份或使用 Year 来仅获取年份。

例如:

public function salesmonthly(Request $request){

    $monthlysales=DB::table('tbl_invs')
     ->select(DB::raw('sum(total) as total'),DB::raw('date(created_at) as dates'))
     ->groupBy('dates')
     ->orderBy('dates','desc')
    ->get();


    // dd($monthlysales);
    return view('reports.monthlysales', compact('monthlysales'));
}
Run Code Online (Sandbox Code Playgroud)