Hola que tal, bienvenido a este nuevo artículo en donde aprenderás cómo crear un crud en Laravel 5.5 desde cero, lo que vamos hacer es básicamente crear las opciones de crear, leer, actualizar y eliminar que son las opciones básicas que tiene una tabla, para esto usaremos Laravel que es un Framework para PHP que como se verá a continuación nos ayuda y nos abstrae la creación de un motón de código simplemente con usar comandos vía consola.

INSTALACIÓN DE LARAVEL VÍA COMPOSER

Previamente debemos tener instalado XAMPP y en la ubicación C:\xampp\htdocs abrimos una ventana de comandos e instalamos usando el siguientes comando:
Como te darás cuenta dependiendo la velocidad de tu conexión a internet esto puede o no tardar mucho.
Bien, ahora que ya tenemos creado el proyecto lo primero que vamos hacer es cambiar la configuración para la base de datos, usuario y clave, si aún no lo has hecho puedes ver el artículo anterior Cómo instalar y configurar Laravel 5.5 donde explico como hacerlo. El nombre de la base de datos le llamaremos del mismo nombre del proyecto crudlaravel, posteriormente deberás crear la base de datos en MySQL.

CREACIÓN DE MIGRACIONES

El tema de migraciones en Laravel tiene que ver con el diseño de tablas de nuestra base de datos, y aunque podemos directamente crear nuestra tabla en MySQL crear el controlador y el modelo, lo vamos hacer usando migraciones, cual es la diferencia? Pues la diferencia es que usando migraciones diseñas las tablas como si de modelos se tratarán y luego las puedes generar a MySQL con un sólo comando, además puedes llevar la cronología de la creación de tus tablas y si algo salió mal, por ejemplo te olvidaste de crear un campo, fácilmente haces un rollback y deshaces los cambios. Pero bueno para que se entienda mejor vamos al ejemplo.

icon
La tabla que vamos a crear para el ejemplo se va llamar Libros y contendrá los campos: nombre, resumen, número de páginas, edición, autor y precio.
Para crear la tabla creamos un archivo de migración, para esto vamos a la ventana de comandos abierta anteriormente y usamos el siguiente comando:
Si te das cuenta ahora se creó un nuevo archivo dentro de la carpeta database->migratios 2018_01_26_035203_create_libros_table.php.
Es una clase que hereda de la clase Migration, en esta clase definimos los campos que va contener la tabla Libros, en esta clase hay dos métodos dow que se llama cuando ejecutamos un rollback y up que es donde crearemos los campos para nuestra tabla, el archivo debe quedar como se muestra a continuación:
Ahora lo que nos queda es ejecutar la migración, esto para que se cree nuestra tabla libros, para esto ejecutamos el siguiente comando:
Lo que nos queda es revisar la tabla libros, para esto puedes usar phpMyadmin o si usas MySQL Workbeanch puedes ver que efectivamente se creó la tabla libros junto con otras adicionales.
Bien, como te mencionaba en ciertos casos pueda que que quieras añadir algún campo a alguna tabla que ya está creada, simplemente puedes hacer un rollback, lo que hace en este caso es eliminar las tablas creadas con las migraciones, la base de datos queda vacía sin ninguna tabla, puedes probar el siguiente comando y verás que pasa:
Si de nuevo revisas la base de datos te darás cuenta que la base de datos volvió a su estado inicial y como este comando era sólo para probar, debes volver a generar el comando migrate para crear la tabla libros.

CREAR EL MODELO

Ahora que y tenemos la tabla creada, necesitamos un modelo que mapee los campos a la tabla libros y para esto usamos el comando:
Si vas a la carpeta app del proyecto vas a encontrar un nuevo archivo llamado Libro.php, como te darás cuenta es una clase vacía y en teoría deberíamos crear las propiedades, los setter y getter, pero con la ayuda de Laravel sólo creamos un array $fillable y le pasamos los campos que queremos llenar, así de fácil como se muestra a continuación:

CREAR EL CONTROLLER

Laravel es un Framework que usa el patrón MVC (Modelo, Vista, Controlador), por lo que ahora tenemos que crear el controlador con los métodos index, show, update, delete.
Como te habrás dado cuenta hasta ahora hemos generado todo básicamente a través de comandos y bueno esta vez no es la excepción, así que para crear el controlador usamos el siguiente comando:
Si ahora vas a la carpeta app/Http/Controllers puedes ver que se generó un nuevo archivo VideoController.php y como por arte de magia se crearon todos los métodos que necesitamos, a continuación dejo el código para cada uno de los métodos, que como te darás cuenta es corto y sencillo, puesto que el framework prácticamente hace todo por nosotros.

CREAR LAS RUTAS

Una ruta en Laravel indica a que método del controlador debe direccionar una petición por ejemplo cuando queramos crear un nuevo libro, editar etc., para esto vamos a la carpeta routes y al archivo web.php el cual debe quedar como sigue:

CREAR LAS VISTAS

Finalmente lo que vamos hacer es crear las vistas, para mostrar, editar y eliminar libros, para esto vamos a  /resources/views/ y creamos una nueva carpeta llamada layouts y dentro de esta carpeta creamos el archivo layout.blade.php, este archivo tiene la plantilla del proyecto, es importante mencionar que Laravel usa el motor de plantillas blade que junto con HTML permiten crear vistas más simples y limpias.

icon

ARCHIVO INDEX.BLADE.PHP

Posteriormente en la ruta /resources/views/ creamos una nueva carpeta llamada Libro que va contener las vistas (index, create, show, edit). Dentro de esta carpeta creamos el archivo index.blade.php como se muestra a continuación:

ARCHIVO CREATE.BLADE.PHP

ARCHIVO EDIT.BLADE.PHP

Y bien como puedes ver que en cuestión de minutos puedes crear un CRUD con Laravel, a continuación dejo el enlace desde el repositorio de Github para que lo descargues Descarga Crud en Laravel desde Github. También puedes continuar revisando Cómo crear un servicio Api REST y consumirlo desde Android.