Как отображать группы уведомлений по датам один за другим, используя Laravel 5?
Так что, если у меня есть notices
table
где я храню title, body and date
, Теперь я хочу отобразить его в следующем формате
2018-01-09
Title Body
abc abc123
pqr pqr123
2018-01-10
Title Body
mno mno123
pqr pqr123
Так что у меня есть вход для start date
а также end date
который получает все уведомления между этими датами.
$notices = App\Notice::whereBetween('date', [$request->start_date, $request->end_date])->oldest('date')->get();
Но сейчас я не знаю, как отфильтровать данные по дате и напечатать одну группу уведомлений ex. 2018-01-09
сначала, а затем другая группа уведомлений ex. 2018-01-10
и так далее.
Как этого добиться?
1 ответ
Используйте метод Collection::groupBy для группировки данных по полю даты:
$notices = App\Notice::whereBetween('date', [$request->start_date, $request->end_date])
->oldest('date')
->get()
->groupBy('date')
->toArray();
$group1 = $notices['2018-01-09'];
$group2 = $notices['2018-01-10'];