在 laravel 回應中,我想像這種格式(不帶秒)獲得“created_at”和“updated_at”的值:
2022-02-22 04:07
我嘗試使用:
protected $casts = [
'created_at' => 'datetime:Y-m-d H:i',
'updated_at' => 'datetime:Y-m-d H:i'
];
但不起作用,日期時間仍為默認格式。
uj5u.com熱心網友回復:
你可以使用這樣的東西:
public function getCreatedAtAttribute($date)
{
return Carbon::createFromFormat('Y-m-d H:i:s', $date)->format('Y-m-d H:i');
}
public function getUpdatedAtAttribute($date)
{
return Carbon::createFromFormat('Y-m-d H:i:s', $date)->format('Y-m-d H:i');
}
使用這些
uj5u.com熱心網友回復:
如果您的“created_at”和“updated_at”欄位是日期時間物件或碳實體,您可以簡單地執行
public function getCreatedAtAttribute($date)
{
return $date->format('Y-m-d H:i');
}
public function getUpdatedAtAttribute($date)
{
return $date->format('Y-m-d H:i');
}
如果它既不是日期時間物件也不是碳實體,您需要將您的字串轉換為日期時間實體,如@gguney 回答。
也可以在里面定義欄位
protected $dates = [ 'created_at' , 'updated_at'];
注意:格式化的值僅在您列印資料或轉儲時反映,如果該欄位位于某個陣列或集合內,則您看不到格式,因為這些方法將在列印特定欄位之前被呼叫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/434988.html
上一篇:Laravel:使用計數查詢模型
