【问题标题】:How to display groups of notices by dates one by one using Laravel 5?如何使用 Laravel 5 按日期逐个显示通知组?
【发布时间】:2018-01-09 16:58:03
【问题描述】:

所以如果我有一个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();

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

如何做到这一点?

【问题讨论】:

  • date 是一个类似2018-01-10datetime 的字符串?

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


【解决方案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'];

【讨论】:

    猜你喜欢
    • 2020-02-03
    • 2018-01-05
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多