laravel - 仅删除标题 laravel 的重复项
问题描述
在我的网络控制器中的 laravel 5.7
public function index(Request $request){
$plan = Plan::All();
return view('web.plan.index', compact('plan'));
}
在我的视图文件中
@foreach($plan as $singlePlan)
@if(Carbon\Carbon::parse($singlePlan->date)->format('m')==10)
<div class="row brow bg-gray ">
<div class="col-md-12">
<div class="row-title">
<strong>12.31</strong>
</div>
</div>
</div>
<div class="m-departures">
<div class="row brow last-row" >
<div class="col-md-2 col-sm-2 col hidden-xs">
<div class="td center">Dec 21-22</div>
</div>
<div class="col-md-5 col-sm-5 col">
<div class="td"><a href="#" target="_blank" rel="noopener noreferrer">Fest</a></div>
</div>
<div class="col-xs-6 col visible-xs">
<div class="td">2 day</div>
</div>
<div class="col-md-1 col-sm-2 col hidden-xs">
<div class="td">2 day</div>
</div>
<div class="col-md-2 col-sm-3 col-xs-6 col">
<div class="td">
<span class="orange schedule-status">
4
</span>
</div>
</div>
<div class="col-md-2 col-xs-12 col tour-link hidden-sm hidden-xs">
<div class="td center"><a href="#" >view</a></div>
</div>
</div>
</div>
@endif
@endforeach
我的网络看起来像这样
但我希望它看起来像这样
如何删除重复的标题?
解决方案
在将数据传递到刀片模板之前,最好按月份对数据进行分组。通过使用集合方法 mapToGroups https://laravel.com/docs/8.x/collections#method-maptogroups
$planGroups = Plan::get()->mapToGroups(function($plan, $key) {
$planDate = \Carbon\Carbon::parse($plan->date);
return ["{$planDate->month} {$planDate->year}" => $plan];
})
->all();
您将获得按月分组的几组计划,例如
[
'11 2020' => [plan, plan, ...],
'12 2020' => [plan, plan, plan, ...]
]
然后在您的刀片模板中,您可以循环浏览月份,然后循环浏览计划。
@foreach ($planGroups as $month => $plans)
// show month heading
@foreach ($plans as $plan)
// show each plan
@endforeach
@endforeach
推荐阅读
- c - 使用 read() 系统调用 C Linux 解析行
- javascript - 如何在 div 中显示 mapplic 路线 svg(小地图)
- python - python错误库不执行库
- javascript - POST http://127.0.0.1:8000/api/configwarehouse/update/1 405(方法不允许)
- c# - C# 解析和数组
- machine-learning - 如何建立一个不包含“自然语言”的文本分类机器学习模型?
- c# - 从使用 Mongo DB 的 Hangfire Scheduler 获取重复作业详细信息
- r - 需要创建具有 2 个分类因子变量的交叉表吗?
- c# - C# 依赖注入:将多个接口注入到其他服务中
- vb.net - VB.NET DLL 导入工作一定次数,然后给出错误读数