【发布时间】:2016-12-20 23:50:39
【问题描述】:
我目前正在使用 foreach 循环在视图中显示项目。
@foreach ($projects as $project)
<div class="col-xs-4 col-sm-4 col-md-4 col-lg-4">
{!! Form::open(array('class' => 'form-inline delete', 'method' => 'DELETE', 'route' => array('projects.destroy', $project->id))) !!}
<div class="panel panel-default">
<div class="panel-heading projectPanelHeading">
<h4>{{ $project->projectName }}</h4>
</div>
<div class="panel-body projectPanel">
<p>Deployment Date: {{ ($project->deploymentDate ? date('d-m-Y', strtotime($project->deploymentDate)) : '') }}</p>
<p>Status: {{ $project->status or '' }}</p>
</div>
</div>
{!! Form::close() !!}
</div>
@endforeach
如您所见,每个项目都有一个 $project->deploymentDate,我将其转换为格式为 d-m-Y 的日期对象。
我要做的是将部署日期与当前日期进行比较,如果部署日期已过,则将面板红色类应用于面板。
我正在考虑做这样的事情
{!! Form::open(array('class' => 'form-inline delete', 'method' => 'DELETE', 'route' => array('projects.destroy', $project->id))) !!}
@if(date('d-m-Y', strtotime($project>deploymentDate)) < date('d-m-Y'))
<div class="panel panel-default panel-red">
<div class="panel-heading projectPanelHeading">
<h4>{{ $project->projectName }}</h4>
</div>
<div class="panel-body projectPanel">
<p>Deployment Date: {{ ($project->deploymentDate ? date('d-m-Y', strtotime($project->deploymentDate)) : '') }}</p>
<p>Status: {{ $project->status or '' }}</p>
</div>
</div>
@else
<div class="panel panel-default">
<div class="panel-heading projectPanelHeading">
<h4>{{ $project->projectName }}</h4>
</div>
<div class="panel-body projectPanel">
<p>Deployment Date: {{ ($project->deploymentDate ? date('d-m-Y', strtotime($project->deploymentDate)) : '') }}</p>
<p>Status: {{ $project->status or '' }}</p>
</div>
</div>
@endif
{!! Form::close() !!}
我不喜欢这种方法的是面板块的重复。此外,将panel-red应用于deploymentDate尚未过去的项目会出现很多错误,反之亦然。
有没有更好的方法来实现我所追求的既正确又不需要重复的方法?
谢谢
【问题讨论】:
标签: laravel laravel-5 laravel-5.2