with updateorcreate meaning examples appends php json api laravel laravel-4

php - updateorcreate - Devolviendo un modelo Eloquent como JSON en Laravel 4



updateorcreate laravel (3)

¿Cómo se devuelve un modelo Eloquent al navegador como JSON? ¿Cuál es la diferencia entre los dos métodos a continuación? Ambos parecen funcionar.

# 1:

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

# 2:

return $user->toJson();


En el n. ° 1, primero convierte su Eloquent en una matriz, y luego lo convierte en JSON, lo que parece un poco redundante.

Con eso en mente, iría con el n. ° 2 si devuelve el JSON a la persona que llama.

También tenga en cuenta que, en L4, cada vez que un modelo Eloquent se convierte en una cadena, se convertirá automáticamente a JSON. Por lo tanto, puede hacer en este ejemplo de la documentación para devolver datos JSON directamente desde su ruta:

Route::get(''users'', function() { return User::all(); });

Para obtener más información, consulte http://four.laravel.com/docs/eloquent#converting-to-arrays-or-json


Los datos reales enviados son los mismos, sin embargo ...

# 1 Envía Content-Type:application/json al navegador

# 2 Envía Content-Type:text/html

# 1 es más correcto, pero depende de tu Javascript, mira: ¿Cuál es el tipo de contenido JSON correcto?

Sin embargo, es mucho más simple simplemente devolver el modelo. Se devuelve automágicamente como JSON y el tipo de contenido está configurado correctamente:

return $model;


Response::json($someArray) es una forma genérica de devolver datos JSON.

return $model->toJson() es específico para devolver un modelo como JSON. Este sería mi enfoque preferido cuando trabaje con un modelo Eloquent.