Laravel 根据条件显示数据
我允许上传文件。上传时,选择一个月。现在在我的视图中,我传递了与上传相关的所有数据,这是本月独有的。本质上,我的观点是这样的Laravel 根据条件显示数据,laravel,laravel-5.2,laravel-blade,Laravel,Laravel 5.2,Laravel Blade,我允许上传文件。上传时,选择一个月。现在在我的视图中,我传递了与上传相关的所有数据,这是本月独有的。本质上,我的观点是这样的 array:2 [▼ 0 => {#235 ▼ +"id": 11 +"upload_month": "Janaury" +"MAX(created_at)": "2017-01-30 13:25:59" } 1 => {#236 ▼ +"id": 10 +"upload_month": "April"
array:2 [▼
0 => {#235 ▼
+"id": 11
+"upload_month": "Janaury"
+"MAX(created_at)": "2017-01-30 13:25:59"
}
1 => {#236 ▼
+"id": 10
+"upload_month": "April"
+"MAX(created_at)": "2017-01-30 13:22:39"
}
]
现在,我希望在选项卡中显示所有月份的数据。出于演示目的,我已删除了大部分月份
<ul class="nav nav-tabs">
<li class="active"><a href="#January" data-toggle="tab">JAN</a></li>
<li><a href="#February" data-toggle="tab">FEB</a></li>
<li><a href="#March" data-toggle="tab">MAR</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="January">
<h3>Jan Data</h3>
</div>
<div class="tab-pane" id="February">
<h3>Feb Data</h3>
</div>
<div class="tab-pane" id="March">
<h3>Mar data</h3>
</div>
</div>
一月数据
二月数据
Mar数据
对于传递给视图的数据(也包含数据相关的月份),我如何在appropiate选项卡中显示它
有什么建议吗
谢谢最简单的方法可能是利用控制器中的内置方法:
//而不是
//返回$someDataObject;
返回$someDataObject->groupBy('upload_month');
然后在视图中,您可以按月份键foreach:
一月数据
@foreach($collectionOfData['一月]]作为$monthData)
{{$monthData->id}
@endforeach
二月数据
@foreach($collectionOfData['二月]]作为$monthData)
{{$monthData->id}
@endforeach
Mar数据
@foreach($collectionOfData['March']作为$monthData)
{{$monthData->id}
@endforeach
.....
当然,确切的实现取决于您的代码,但这应该让您开始
如果在后端进行一些排序(以便月份的顺序正确),甚至可以进一步简化代码,例如:
return $someDataObject->groupBy('upload_month')->sortBy('someDateRepresentationOfTheMonthTheDataRepresents');
并且认为:
@foreach($collectionOfData作为$monthName=>$monthData)
{{--这使用$loop变量,该变量仅在Laravel5.3及更高版本中可用--}