2016-07-01 12 views
1

私はデータベースにユーザーの生年月日がありますが、2000年3月27日のような形式にしたいと思います。既に登録日がありますが、フォーマットすることはできますが、試してみると文字列のメンバ関数形式に コール()Laravel書式datetime

私は、ユーザーの誕生日を表示してフォーマットするために使用このコード:

{{ucfirst(Auth::user()->created_at->format("M d Y"))}} 
それは私に次のエラーを与える誕生日をフォーマット

このコードは、すべてのユーザーがテーブルに入っているため、生年月日で使用しようとしました:

{{ucfirst($user->birthdate->format("M d Y"))}} 

これは、データベースの構造です: http://i.stack.imgur.com/Agchg.png

答えて

4

あなたがそうLaravelはちょうどすべてでそれをタッチであるとして、それを取得しないだろう、あなたのbirthdateフィールドが日付であることをLaravelを伝える必要があります。これは、Laravelが日付として扱うべきすべてのフィールドの配列であるモデルクラスにprotected $datesを追加することによって行います。

class MyModel extends [...] { 
    protected $dates = ['bithdate']; 
} 

これはbirthdateは日付があることLaravelを教えてくれますし、LaravelはCarbonのインスタンスに変換します。

+0

編集: それは私がタイプミスを持っています、ありがとう! – pieter771

+0

はい、[Date Mutator](https://laravel.com/docs/5.2/eloquent-mutators#date-mutators)を参照してください。 – tkausl