如何转换在控制器中提交的 Laravel 默认时间戳并通过 API 返回

我想以正确的格式获取最后记录的更新时间。现在update_at字段是默认的 Laravel 字段。下面的代码通过 API 作为 json 数据返回:updated_at: "2020-08-01T09:10:01.000000Z"


这是不可读的。我尝试了不同的转换方法,没有人工作。


控制器中的代码:


public function index()  

    {


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

        

        return $updatedon;

                

   }


莫回无
浏览 94回答 2
2回答

有只小跳蛙

有两种方法可以做到在你的Corona模型中你可以添加public function getUpdatedAtAttribute($date){    return Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $date)->format('Y-m-d');}您可以根据需要更改格式,您可以阅读有关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');

杨__羊羊

默认情况下,Eloquent 将时间戳列转换为 Carbon 的实例$updateon->diffForHumans();https://carbon.nesbot.com/docs/#api- humandiff 这将为您提供人类可读的格式,例如 1 天前等或者任何自定义格式$updateon->format('Y-m-d');
打开App,查看更多内容
随时随地看视频慕课网APP