Home > Software engineering >  Laravel 8 with Backpack - datetime formatting on the frontend?
Laravel 8 with Backpack - datetime formatting on the frontend?

Time:11-30

I am currently trying to format a datetime object that I access like this:

Blade:

{{ $event->start }} and {{ $event->end}}

this outputs something like this on the frontend blades:
2021-12-02 22:30:00 ($event->start) 2021-2021-12-02 23:00:00 ($event->end)

the formatting above is also how it is stored as a DATETIME object in the database.

enter image description here


enter image description here

Because I use other elements, like a fullcalendar, I dont want to change the way the database stores the dates, just formatting the dates on the frontend/controller directly.

Controller:

if ($course == 'course') {
    $view   = 'pages.course.current_course';
    $id     = '8';
}

// get the course data from the database
$events = DB::table('eventaries')
    // map the current view $id to the database query
    ->where('category', $id)
    // check if event is expired
    ->where('start', '>', now())
    ->get();


// pass through the data to the correct views
return view($view, [
    "events" => $events
]);

But I need the following formatting:
Sunday. 12th December 2021, 22:30 ($event->start) and 23:00 ($event->end)

I already got the formatting in the BackPack Backend right by adding 'format' => to the CrudController, like this:

CrudController:

CRUD::addColumn([
    'name'              => 'start',
    'label'             => 'Start',
    'type'              => 'datetime',
    'format'            => 'DD.MM.Y - H:mm',
]);

CRUD::addColumn([
    'name'              => 'end',
    'label'             => 'End',
    'type'              => 'datetime',
    'format'            => 'DD.MM.Y - H:mm',
]);

CodePudding user response:

If you have Model defined for that particular table. you can define accessor for those two column, like

public function getStartAttribute($value)
{
    return Carbon::parse($value)->toDayDateTimeString();
}

It will return output something like Mon, Nov 29, 2021 05:45 PM

Define these type of function for end column.

Refer this Carbon Document for other format and date operation

If you don't have Model you can use Carbon class in blade or controller directly

  • Related