我正在嘗試使用 Carbon 獲取日期計數。就像 20 天前創建的一樣。我想以 JSON 格式 API 發送資料。
我想從控制器發送它。這是我的控制器代碼。
use Carbon\Carbon;
public function index()
{
$now = Carbon::now();
$users = User::all('first_name', 'last_name', 'profile_img', 'created_at');
$date = $users->created_at->diffInDays($now);
return response()->json(['data' => $users , 'date' => $date]);
}
但是我從郵遞員那里得到了錯誤

如果沒有日期計數,我可以毫無錯誤地獲取所有資料。所以我的問題就在這里。請告訴我我錯在哪里。謝謝你
uj5u.com熱心網友回復:
首先,您要嘗試從物件集合中獲取資料。它可能是 pluck 或者您可以在此處使用 for each 回圈來修改您的資料。就像 -
$date = array();
foreach($users as $user){
$date[] = $user->created_at->diffInDays($now); // or $user->created_at->diffForHumans();
}
對于 API,您可以使用資源或 Laravel 存盤庫模式。
uj5u.com熱心網友回復:
我已經使用模型訪問器Laravel完成了它。在User模型中,我正在創建一個函式
public function getCreatedAtAttribute($created_at)
{
return Carbon::parse($created_at)->diffInDays(now());
}
在 中Controller,我使用了此代碼。
public function index()
{
$users = User::all('first_name', 'last_name', 'profile_img', 'created_at');
return response()->json(['data' => $users], 200);
}
現在它發送了一個很好的結果

謝謝大家。
uj5u.com熱心網友回復:
您還可以通過模型訪問器以不同的格式格式化日期
protected function serializeDate(DateTimeInterface $date)
{
return $date->format('Y-m-d H:i:s');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/364840.html
上一篇:碳跳過某個月
