Cargando



Hacer Consultas con Fluent en Laravel

En este tutorial veremos cómo hacer consultas en una aplicación hecha en Laravel utilizando Fluent.


jul 25 2014 19:31
Avanzado
jul 30 2014 12:14
Si bien saber utilizar el lenguaje SQL al momento de construir aplicaciones web es muy útil, es cierto que a veces es un poco complejo tener que escribir muchas instrucciones para llegar a resultados sencillos como insertar o hacer consultas de complejidad baja o intermedia, además de que al hacer inserciones debemos protegernos de los SQL injections.

Fluent
Laravel nos ofrece una interfaz llamada Fluent con la cual podemos interactuar con nuestro motor de bases de datos sin necesidad de escribir una sola sentencia SQL, esto nos trae la ventaja de no tener que pensar en optimización de consultas o preocuparnos por los SQL injections, sin embargo para el usuario de la vieja escuela puede parecer un poco limitante.


Generar la Migración para Insertar Datos


Como siempre cada vez que necesitemos hacer un cambio en base de datos lo más recomendable es hacerlo a través de una migración, con ello tendremos un historial de cambios, además que no tendremos que tocar el motor de base de datos directamente.

Lo primero que debemos hacer es generar el archivo de migración, para ello vamos a utilizar el siguiente comando en artisan:

php artisan migrate:make add_data_to_shows_table


Esto nos debe generar un nuevo archivo en app/database/migrations con la fecha en que hacemos la migración y el nombre de la misma, podría ser algo similar a esto:



2014_07_15_222551_add_data_to_shows_table.php


Ya que tenemos nuestro archivo, veamos en la siguiente imagen como modificamos el método up() para agregar las instrucciones en Fluent para insertar datos:



Podemos notar que hemos construido 3 arrays con datos, donde cada elemento corresponde a un campo de la tabla, luego con la clase DB de Laravel indicamos la tabla y utilizamos el método insert() y le pasamos un array que contiene cada array de datos y con eso hemos insertado fácilmente los registros sin necesidad de escribir una sola línea en SQL.

Consultar los Datos


Una vez los datos están en nuestra tabla lo más natural es que queramos consultarlos, para ello solo debemos construir un modelo donde podamos establecer los parámetros de la consulta y luego una ruta para poder hacer el llamado a la misma, veamos primero el modelo:



De una forma muy sencilla construimos un método que recibe un parámetro para ordenar y la orientación de dicho orden, este parámetro debe ser alguno de los campos de la tabla del modelo, luego establecemos un objeto del tipo DB al que le pasamos la tabla como parámetro del constructor, luego simplemente con el método get() obtenemos la consulta, si tenemos parámetros de ordenamiento primero llamamos a order_by() con ellos y luego a get().

Finalmente vamos a construir la ruta, para ello simplemente vamos a llamar al método del modelo y con ello podremos acceder a los registros y los mostraremos con el método helper dd(), veamos en la siguiente imagen el ejemplo:


laravel_consul_sql_fluent3.jpg


Como vemos hemos podido realizar todo lo necesario para insertar y leer datos sin necesidad de escribir una línea SQL, esto es muy útil cuando necesitamos salir de tareas repetitivas y de baja complejidad, lo más interesante es que utilizar Fluent no nos impide utilizar SQL directo en caso de ser necesario, por lo que contamos con bastante versatilidad.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X