Как я могу преобразовать Laravel метку времени по умолчанию created_at, хранящуюся в контроллере, и вернуть ее через API - PullRequest
0 голосов
/ 01 августа 2020

Я хочу получить время обновления последней записи в правильном формате. Прямо сейчас updated_at поле по умолчанию laravel. Приведенный ниже код возвращается через API как json data: updated_at: «2020-08-01T09: 10: 01.000000Z»

Это не читается. Я пробовал другой метод преобразования, никто не работал.

Код в контроллере:

public function index()  
    {

        $updatedon = Corona::all('updated_at')->last();
        
        return $updatedon;
                
   }

Ответы [ 2 ]

0 голосов
/ 01 августа 2020

Есть два способа сделать

  1. в вашей модели Corona вы можете добавить
public function getUpdatedAtAttribute($date)
{
    return Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $date)->format('Y-m-d');
}

вы можете изменить формат, как вы sh, вы можете узнать больше о Accessor

при получении последней записи вы можете сделать
collect(Corona::all('updated_at')->last())->map(function ($updated_at) {
    return Carbon\Carbon::createFromTimeString($updated_at)->format('Y-m-d');
}))

или просто сделать это

$last_record = Corona::all('updated_at')->last();
return \Carbon\Carbon::createFromTimeString($last_record->updated_at)->format('Y-m-d');
0 голосов
/ 01 августа 2020

По умолчанию Eloquent преобразует столбцы временных меток в экземпляры Carbon

$updateon->diffForHumans();

https://carbon.nesbot.com/docs/#api -humandiff Это даст вам удобочитаемый формат, например 1 день go, et c

ИЛИ в любой пользовательский формат

$updateon->format('Y-m-d');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...