如何在laravel中使Carbon null?

问题描述

我正在 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')

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...