Skip to content
Advertisement

how to make Carbon null in laravel?

I’m making a table in Laravel and I want my “besttime” to be a nullable but it’s returning the current time if I keep it empty. (I’m using carbon because I want the H:i format without the seconds) here’s what my input looks like

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

Advertisement

Answer

I will suggest you to add mutators in model so you can keep code simpler in blade file

public function getBesttimeAttribute($value)
{
    return empty($value)
        ? null
        : Carbon::parse($value)->format('H:i');
}

so in your view you can do

<td>{{ $record->besttime }}</td>

suppose if you dont want to modify orginal values then you can create custom attribute and append it to request

public function getCustomBestTimeAttribute()
{
    return empty($this->besttime)
        ? null
        : Carbon::parse($this->besttime)->format('H:i');
}

and set

public $appends = ["custom_best_time"];

so in your view you can do

<td>{{ $record->custom_best_time}}</td>
User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement