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:
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.