[英]date returned as datetime in eloquent / laravel
我想要的是:
當我將我的模型作為日期列的json返回時,我得到2010-10-10 00:00:00
這是錯誤的,因為日期存儲為2010-10-10
而沒有時間。
有點混亂
laravel文檔的日期更改器實際上是“日期時間”更改器。 created_at
等是日期時間。 沒有日期。 因此,似乎沒有很好地選擇“日期”名稱。 那應該是“ dateTimesAndDates”。 現在,我不想更改所有字段的dateTime格式,而只是更改所有日期以僅返回日期,我的最佳選擇是什么? 每個日期列使用一個增幅器?
我的模特:
class MyUser extends Eloquent
{
protected $guarded = [
'id', 'user_id'
];
protected $dates = [
'birthdate'
];
對待生日不是日期,而是字符串?
這是因為您數據庫中的列類型是DateTime而不是Date。
您可以解決此問題。
use Carbon\Carbon;
public function getBirthdateAttribute($value){
return Carbon::parse($value)->format('Y-m-d');
}
要么
在您的遷移文件中,將該列設置為日期
$table->date('birthdate');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.