问题描述
我需要显示为产品状态,该状态对于从X日期到X日期的所选日期是特殊的,
public function show(Category $category)
{
// ! Search Filter
$filter = new SearchFilter();
$filter->where('parent_id','=',$category->id);
// ! Date Filter (Today)
$day = Carbon::Now();
$today = $day->toDateString();
return view('manage.categories.show')->with([
'pageTitle' => $category->name,'allItems' => $this->dataRepo->search([],$filter),'isDestroyingEntityAllowed' => $this->isDestroyingEntityAllowed,'entity' => $category,'today'=>$today,]);
}
这是我检查日期的刀片服务器
@foreach ($allItems as $item)
<td>
@if ($item->special_start == $today || $item->special_end == $today)
Special
@else
Regular
@endif
</td>
@endforeach
但是只有当日期与开始日期和结束日期匹配时,它才会显示特殊,开始日期和结束日期之间的日期将显示为常规
我该如何解决?
解决方法
不建议使用Carbon
在view
中编写逻辑,但是您可以将其移至控制器中
@foreach ($allItems as $item)
<td>
@php
$first = \Carbon\Carbon::create($item->special_start);
$second = \Carbon\Carbon::create($item->special_end);
$diff = now()->between($first,$second);
@endphp
@if ($diff)
Special
@else
Regular
@endif
</td>
@endforeach