如何在 Laravel 中显示限时产品报价
Posted
技术标签:
【中文标题】如何在 Laravel 中显示限时产品报价【英文标题】:How to Display product offer for a limited period in Laravel 【发布时间】:2021-01-27 14:49:19 【问题描述】:我需要显示为产品状态对于从 X 日期到 X 日期的选定日期是特殊的,
这就是我的 UI 的样子
这是用户可以创建新的子类别并选择特价日期的地方
这是我在控制器中的显示功能
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
但是只有当它与开始日期和结束日期匹配的日期才会显示特殊,开始日期和结束日期之间的天数将显示为常规 .
我该如何解决?
【问题讨论】:
我已经发布了答案请看一下 @KamleshPaul 我收到此错误 Illuminate\Support\Carbon 类的对象无法转换为 int 我更新了代码现在检查 【参考方案1】:使用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
参考链接https://carbon.nesbot.com/docs/#api-comparison
【讨论】:
以上是关于如何在 Laravel 中显示限时产品报价的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Laravel 7 中使用 Livewire 显示存储路径中的图像
如何将带参数的 Laravel 模型函数调用到 Vuejs 模板中?