38

Eloquent モデルを JSON としてブラウザーに返すにはどうすればよいですか? 以下の 2 つの方法の違いは何ですか? どちらも機能しているようです。

#1:

return Response::json($user->toArray());

#2:

return $user->toJson();
4

4 に答える 4

12

Response::json($someArray)JSON データを返す一般的な方法です。

return $model->toJson()モデルを JSON として返すことに固有です。これは、Eloquent モデルを使用する場合に私が好むアプローチです。

于 2013-03-24T18:13:28.973 に答える
10

#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を参照してください。

于 2013-03-24T18:19:44.997 に答える