如何使用Laravel 5逐个显示日期组?

时间:2018-01-09 16:58:04

标签: php mysql laravel laravel-5 laravel-eloquent

因此,即使我有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 dateend date的输入,这些输入会在这些日期之间得到所有通知。

$notices = App\Notice::whereBetween('date', [$request->start_date, $request->end_date])->oldest('date')->get();

但现在我不知道如何按日期过滤数据并打印一组通知ex。首先是2018-01-09,然后是另一组通知。 2018-01-10等等。

如何实现这一目标?

1 个答案:

答案 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'];