Опция 1: группа в запросе
Контроллер:
public function index()
{
$subiths = Laborhrs::selectRaw('MONTH(stop) as month, sum(labor_hrs) as sum')
->where('mechanic', 7)
->groupBy('month')
->orderByDesc('stop')
->get();
return view('reports.labour_monthly', compact('subiths'));
}
Просмотр:
@foreach($subiths as $subith)
<tr>
<td>{{ date("F", mktime(0, 0, 0, $subith->month, 1)) }}</td>
<td>{{ $subith->sum }}</td>
</tr>
@endforeach
Опция 2: группарезультат запроса
Не используйте эту опцию, если у вас много данных по каждому механику.
Контроллер:
public function index()
{
$subiths = Laborhrs as sum')::where('mechanic', 7)
->orderByDesc('stop')
->get();
$grouped = $subiths->groupBy(function($item){
return \Carbon\Carbon::parse($item->stop)->format('F');
});
return view('reports.labour_monthly', compact('grouped'));
}
Просмотр:
@foreach($grouped as $month => $group)
<tr>
<td>{{ $month }}</td>
<td>{{ $group->sum('labor_hrs') }}</td>
</tr>
@endforeach