Eloquent モデルを JSON としてブラウザーに返すにはどうすればよいですか? 以下の 2 つの方法の違いは何ですか? どちらも機能しているようです。
#1:
return Response::json($user->toArray());
#2:
return $user->toJson();
Response::json($someArray)
JSON データを返す一般的な方法です。
return $model->toJson()
モデルを JSON として返すことに固有です。これは、Eloquent モデルを使用する場合に私が好むアプローチです。
#1 では、最初に Eloquent を配列に変換してから、それを JSON に変換しますが、これは少し冗長に思えます。
そのことを念頭に置いて、JSON を呼び出し元に返す場合は #2 を使用します。
また、L4 では、Eloquent モデルが文字列にキャストされるたびに、自動的に JSON に変換されることに注意してください。したがって、ドキュメントのこの例のようにして、ルートから直接 JSON データを返すことができます。
Route::get('users', function()
{
return User::all();
});
詳細については、http://four.laravel.com/docs/eloquent#converting-to-arrays-or-jsonを参照してください。