簡體   English   中英

用雄辯的/ laravel作為日期時間返回的日期

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM