Retornar JSON de una consulta con Eloquent en Laravel

Laravel

Retornar JSON de una consulta con Eloquent en Laravel: Muchas veces cuando realizamos consultas sobre una base de datos, deseamos devolver en diferentes formas y formatos el conjunto de datos resultante (Dataset), es por ello que en este artículo veremos cómo realizar una consulta en Laravel y devolver una respuesta en formato JSON,

Retornar JSON de una consulta con Eloquent en Laravel

Supongamos que tenemos una consulta sobre una tabla llamada Usuarios:

$identificacion= $request->input(‘identificacion’);
$U = Usuarios::where(‘identificacion’, $identificacion)->where(‘estado’, ‘1’)->get();

Con la anterior consulta obtenemos el usuario o los usuarios que tengan la identificación que obtenemos y que su estado sea igual a «1«.

🛡 Los ataques informáticos crecen cada día
YouTube IconProtege tus Dispositivos - Usa Kaspersky Antivirus.

Ahora podemos armar el JSON que devolveremos como respuesta, este puede ser armado con valores que podemos obtener de varias consultas, para este ejemplo solo utilizamos una muy sencilla, veamos:

Curso de Laravel Framework

Pasando los valores que necesitamos a variables Php.

$id = $U[0]->id;
$nombres = $U[0]->nombres;
$apellido_1 = $U[0]->apellido_1;
$apellido_2 = $U[0]->apellido_2;

Armando nuestra respuesta JSON:

return response()->json([
‘id’ => $id,
‘nombres’ => $nombres,
‘apellido_1’ => $apellido_1,
‘apellido_2’ => $apellido_2
]);

De esta forma podemos recuperar estos valores en la vista haciendo uso de AJAX.

$.ajax({
type: «post»,
url: ‘consulta’,
data: {
documento: documento
},
success: function (Usuario) {
console.log(Usuario.id)
console.log(Usuario.nombres)
console.log(Usuario.apellido_1)
console.log(Usuario.apellido_2)
}
});

Cabe recordar que en la url se está especificando «consulta«, esta es la ruta creada en el archivo routes.php con el método POST, de lo contrario no podríamos utilizar la función contenida en el controlador, Un ejemplo de su creación sería la siguiente:

Route::post(‘consulta’, ‘ControladorController@consulta’);

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *