我正在循环通过排序的 Laravel 集合created_at
来制作时间线。每个项目的开始日期是created_at
,结束日期是created_at
以下项目的 。如果是最后一项,则该事件仅持续一组 30 天。
我目前的代码是这样的:
@foreach ($statushistory->where('itemid', $timelineitemid) as $hist)
[ '{{$hist->newstatus}}', new Date({{$hist->created_at->format('Y')}}, {{$hist->created_at->format('n')-1}}, {{$hist->created_at->format('j')}}), new Date({{$hist->created_at->format('Y')}}, {{$hist->created_at->format('n')-1}}, {{$hist->created_at->format('j')}}) ],
@endforeach
正如您在此处看到的,结束日期与开始日期相同,但我需要它作为下一个项目的开始日期。我认为会有一个帮手,比如last()
我可以调用的集合之类的next()
。由于没有数字键,我不能只是添加一个并抓住它。该项目按日期排序,唯一的 ID 类型字段是数据库中的一个,它是一个随机 ID,如 1434 或 1356。
关于如何获取下一项的 start_date 并检查我们是否在最后一项的任何想法?我查看了 PHP 的next
功能,但我认为它不能满足我的需要。
非常感谢