我正在努力实现这样的目标:
我正在使用Laravel,例如显示结果我会在数组上做一个foreach并显示标题,正文等。 实施例
@foreach($resArray as $res)
{{$res->Title}}
@endforeach
这将显示数组中每个结果的标题,我也有$res->startDate
中的日期,但我不确定如何在特定日期下列出具有相同日期的每个结果。
你可能没理解......
例如,如果我有两个来自10/07/2017
的通知和一个来自11/07/2017
的通知,则会显示为:
10/07/2017
- notification 1
- notification 2
11/07/2017
- notification
我正在考虑if语句,但是什么声明
if($res->startDate)
这也不起作用,我想将它们存储在数组中,例如日期11/07/2017
数组并显示那些数组,但这甚至可以工作......
无法从谷歌找到太多,因为我不太确定如何在一个好的maneer google这个。
我试过这样做:
$notifResult = notifications::where('userID', '=', $userID)->select('*')->groupBy(['date'])->get();
dd($notifResult);
但是它不起作用,首先,我在数据库中有3个结果,它只有2个它们甚至没有按日期对它们进行分组,之前列出的两个结果来自不同的日子。 ..
但是,它只选择了两个结果......
答案 0 :(得分:0)
一个天真但简单的解决方案是按开始日期对结果进行排序,然后在foreach检查中检查上一个日期(存储在temp var中)是否与当前日期不同,如果为true则显示新日期。
$prevDate = '';
@foreach($resArray as $res)
@if($prevDate != '' && $prevDate != $res->startDate) {
//do sth to break the html and display the new date
@endif
{{$res->Title}}
{{$prevDate = $res->startDate;}}
@endforeach
答案 1 :(得分:0)