如何使 laravel 中的 Carbon 为空?

how to make Carbon null in laravel?

我正在 Laravel 中制作 table,我希望我的“最佳时间”是 nullable,但如果我将其留空,它会返回当前时间。 (我正在使用碳,因为我想要没有秒的 H:i 格式) 这是我输入的样子

@foreach ($records as $record)
    <tr>
        <td>{{ Carbon\Carbon::parse($record->besttime)->format('H:i') }}</td>
    </tr>
@endforeach

我建议您在模型中添加修改器,这样您就可以在 blade 文件中简化代码

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 为空。

 Carbon::make($record)->format('H:i')