group by laravel


        $query->select([
            DB::raw('sum(actions.amount) amount'),
            DB::raw("DATE_FORMAT(created_at, '%Y %m %e') date"),
        ]);
        $query->groupBy(DB::raw('date'));


// Carbon
use Carbon\Carbon;   
$visitorTraffic = PageView::select('id', 'title', 'created_at')
    ->get()
    ->groupBy(function($date) {
        return Carbon::parse($date->created_at)->format('Y'); // grouping by years
        //return Carbon::parse($date->created_at)->format('m'); // grouping by months
    });