因此,即使我有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
,然后是另一组通知。 2018-01-10
等等。
如何实现这一目标?
答案 0 :(得分: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'];