问题描述
我正在 Laravel 中制作一张桌子,我希望我的“最佳时间”是 nullable
,但如果我将其保留为空,它将返回当前时间。
(我使用碳是因为我想要没有秒的 H:i
格式)
这是我输入的样子
@foreach ($records as $record)
<tr>
<td>{{ Carbon\Carbon::parse($record->besttime)->format('H:i') }}</td>
</tr>
@endforeach
解决方法
我会建议你在模型中添加修改器,这样你就可以让刀片文件中的代码更简单
public function getBesttimeAttribute($value)
{
return empty($value)
? null
: Carbon::parse($value)->format('H:i');
}
所以在你看来你可以做到
<td>{{ $record->besttime }}</td>
假设如果您不想修改原始值,那么您可以创建自定义属性并将其附加到请求中
public function getCustomBestTimeAttribute()
{
return empty($this->besttime)
? null
: Carbon::parse($this->besttime)->format('H:i');
}
并设置
public $appends = ["custom_best_time"];
所以在你看来你可以做到
<td>{{ $record->custom_best_time}}</td>
,
您可以使用以下代码将 Carbon 设为 null。
Carbon::make($record)->format('H:i')