VueJSフロントエンドSPA用にLaravelを使用してAPIを構築しています。Laravel - コレクションがJSONとして返されたときにアクセサが動作しない
DBに保存されている日付を「Y-m-d」ではなく「d-m-Y」として受け入れて返す必要があります。 データミューテータは大丈夫働いていると私は、与えられた日付と正しく を、それを保存するために管理が、私は実行すると:
$active = Announcement::where('group_id', $this->user->group_id)->where('dateTo', '>=', Carbon::today())->get();
return response()->json($active);
私はそれがフォーマットされた取得するのではなく、純粋なDBのデータを取得しています。
public function getDateToAttribute($value)
{
$date = Carbon::createFromFormat('Y-m-d', $value);
return $date->format('d-m-Y');
}
私は何をすべき: は、たとえば、私はフォーマットする必要がありますdateTo
フィールドがありますか?
アクセッサーをまだ通過していない... JSONに変換中であるため、toArrayを使わないでこのことを行う必要があります... –
そうです。 これをより詳しく見ると、あなたの日付フィールドは 'dateTo'ではなく' dateTo'です。 Laravelは、あなたのフィールド名が期待するフォーマット、すなわち 'date_to'と一致する場合にのみ、自動アクセサーを実行します。 –