Comment renvoyer un modèle Eloquent au navigateur en tant que JSON ? Quelle est la différence entre les deux méthodes ci-dessous ? Les deux semblent fonctionner.
#1 :
return Response::json($user->toArray());
#2 :
return $user->toJson();
Comment renvoyer un modèle Eloquent au navigateur en tant que JSON ? Quelle est la différence entre les deux méthodes ci-dessous ? Les deux semblent fonctionner.
#1 :
return Response::json($user->toArray());
#2 :
return $user->toJson();
Les données réelles envoyées sont les mêmes, mais...
Content-Type:application/json
au navigateurContent-Type:text/html
Cependant, il est beaucoup plus simple de renvoyer simplement le modèle. Il est automatiquement renvoyé au format JSON et le Content-Type est défini correctement :
return $model;
En #1 tout d'abord convertir votre Éloquent à un tableau, puis de la convertir en JSON, ce qui semble un peu redondant.
Avec cela à l'esprit, j'irais avec #2 si vous êtes de retour au format JSON à l'appelant.
À noter également que, dans L4, chaque fois qu'un Éloquent modèle est converti en une chaîne de caractères, il sera automatiquement converti en JSON. Par conséquent, vous pouvez faire comme dans cet exemple tiré de la documentation de retour JSON données directement à partir de votre itinéraire:
Route::get('users', function()
{
return User::all();
});
Pour plus d'informations, voir http://four.laravel.com/docs/eloquent#converting-to-arrays-or-json
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.