为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
莫回无 2023-09-08 21:32:46
我想以正确的格式获取最后记录的更新时间。现在update_at字段是默认的 Laravel 字段。下面的代码通过 API 作为 json 数据返回:updated_at: "2020-08-01T09:10:01.000000Z"这是不可读的。我尝试了不同的转换方法,没有人工作。控制器中的代码:public function index()      {        $updatedon = Corona::all('updated_at')->last();                return $updatedon;                   }
查看完整描述

2 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

有两种方法可以做到


在你的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');



查看完整回答
反对 回复 2023-09-08
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

默认情况下,Eloquent 将时间戳列转换为 Carbon 的实例

$updateon->diffForHumans();

https://carbon.nesbot.com/docs/#api- humandiff 这将为您提供人类可读的格式,例如 1 天前等

或者任何自定义格式

$updateon->format('Y-m-d');


查看完整回答
反对 回复 2023-09-08
  • 2 回答
  • 0 关注
  • 62 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信