Modelo ,controlador,migraciones y seeder para documentar una base de datos
Antes que nada para continuar con los pasos a continuación tienes que haber creado un proyecto en larabel, tener instalado composer. Y xampp para poder abrir nuestra base de datos en MySQL.
Puedes ver nuestro vídeo en nuestro canal para poder instalar así lo que es composer xampp y laravel.
Link del vídeo para la instalación de los requisitos, para poder trabajar con laravel 5.4.
https://www.youtube.com/watch?v=JLtTduONC9M&t=4s
Laravel utiliza 3 herramientas para la base de datos: las migraciones, seeder y modelo.
- Migraciones: Nos permite crear, modificar y borrar tablas y registros en nuestras bases de datos. Desde nuestra aplicación y sólo con php. Sin tener que utilizar sentencias SQL. Nos permite migrar nuestra base de datos a gestores de bases de datos.Cuando creamos un proyecto con Laravel 5.4, ya tenemos por defecto dos migraciones en esa carpeta : (se pueden eliminar es opcional)
Create_users_table.php: Nos permitirá crear una tabla estándar de usuario.
Create_password_resets_table.php: Tabla auxiliar que utiliza Laravel en recuperación de contraseñas olvidadas que trae implementado por defecto.
- Controladores: Se utilizan para crear opciones CRUD para rutas.
- Seeder: Son componentes del framework Laravel y sirven para inicializar las tablas con los datos nos permiten por medio de código alimentar las tablas con datos.
Una vez hecho eso estaremos abriendo nuestro entorno de desarrollo integrado visual studio code o cualquiera de tu preferencia. Abrir nuestra carpeta del proyecto de laravel.
Abrimos nuestra consola, direccionando a las carpetas de nuestro proyecto laravel cd\xampp\htdocs\nombre_del_proyecto.
Copiamos este comando para crear un modelo, pegándole en nuestro cmd :
Copiamos este comando para crear un modelo, pegándole en nuestro cmd :
php artisan make:model User -m (puedes cambiar el nombre de tu modelo en user.)
El modelo y la migración se ha creado:
Podemos verificar que el modelo dentro de la carpeta app para la tabla Mercado se creó correctamente en nuestro editor:
Ahora tendremos dentro de la carpeta database >> una sub-carpeta que se llama migrations donde se implementó correctamente en nuestro editor un nuevo archivo llamado mercados en plural con la fecha y la hora de creación esta nos permitirá crear la tabla de estudiantes:
Comenzaremos a definir los campos para la tabla mercados:
Nuestra tabla mercados dentro de la sub-carpeta migración habrá quedado de esta manera:
Abriremos el archivo .env : Puesto que nuestra base de datos no está creada a un .env; trae por defecto una que se llama homestead si ejecutamos nuestra aplicación con esa, no funcionara a un menos que la quieras crear con ese nombre dentro de MySQL.
Cambiaremos los parámetros siguientes: el nombre de la base de datos que la iremos a crear ahora, el usuario se llama root y si tienes clave la ingresas (sino ira en vacío). No dejar espacios de por medio.
Recuerda tener activado Apache y MySQL de Xampp para que esta pueda funcionar y abrir.
Vamos a crear ahora nuestra base de datos llamada app_mercado dando clic derecho en la parte rellena roja al darle el nombre damos clic en apply y en la parte izquierda ya tendremos nuestra tabla para insertar datos creada.
Ahora realizaremos los cambios como dije anteriormente en el .env:
Guardamos los cambios y en la consola de Windows escribiremos el comando para ejecutar la migración de la tabla mercados.
php artisan migrate
En la parte encerrada de azul me está mostrando que la migración de la tabla de datos a sido exitosa e incluso se ve el tiempo en que este tardó. Ahora el de color anaranjado me generaba error porque no necesitaba las dos migraciones la de users y password así que se eliminan para no ocasionar el mismo error.
Después de haber ejecutado el comando entonces en la base de datos de workbench actualizas la tabla dando clic en el icono encerrado en anaranjado y encontrarás definidas las tablas de mercados y migrations dentro de mercados encontrarás los mismos campos que escribimos dentro de la carpeta migrations -> mercados.
Ahora escribiremos el siguiente comando para poder poblar de información la tabla de mercados mediante un seeder, siempre en nuestra consola escribimos el comando:
php artisan make:seed MercadoSeeder
Nuestro archivo seeder se ha creado correctamente:
Iniciaremos a comenzar a escribir como en programación código para que la inserción de datos con concatenación para que esta, se realice correctamente DATO: dentro de este seeder en la sección use, escribiremos estas librerías:
Y así quedará nuestro seeder poblado con datos para la inserción de los datos en los campos de la tabla en Workbench, creamos un ciclo for para que esta realice 100 registros y movemos el bloque de código dentro.
Luego abriremos dentro de la carpeta seeds el archivo DatabaseSeeder.php y escribimos el llamado para nuestro seeder.Con la siguiente sintaxis y guardamos cambios.
Nos dirigimos a la consola de Windows y escribimos el comando artisan:
php artisan migrate:refresh --seed
Podemos observar que funcionó:
Podemos ver que dentro de la tabla en Workbench ahora se crearon los 100 registros que escribimos dentro del seeder:
Ahora vamos a crear el controlador para hacer solicitudes al modelo de Laravel, escribimos en la consola el comando:
php artisan make:controller ListaController
Este archivo que acabamos de crear lo encontraremos en App/Http/Controllers lo abrimos y definimos una función php que responderá para mostrar una lista de los productos.Dato: en la sección use: escribiremos App\Mercado; le estaremos diciendo que de Mercado me muestre una lista de los productos con dd para mostrar variables y guardamos cambios.
Para nosotro mostrar la lista de productos extraídos, definimos una ruta en el archivo de rutas route/web.php para que esta responda en nuestro navegador web .
Podremos observar también que la ruta se ha creado correctamente:
Escribiremos la url que está encerrado.Y así mostrar los archivos de productos con información individual de cada uno a continuación:
Ahora procederemos a escribir otra función en el controlador siempre para que esta muestre la lista de productos con el campo categoría de tipo get.
Para mostrar la lista de productos por categoría necesita una ruta. Para luego abrir en nuestro navegador web la url localhost/xampp/AppofSupermercado/public/listadoporproducto/Verduras
Me muestra 22 productos registrados con la categoría de Verduras que son los que tengo en MySQL:
Y así podemos filtrar ya sea por categoría, precio,fecha etc. Haciendo siempre el mismo procedimiento.
Ahora vamos a escribir una ruta para extraer a los productos por categoría y fecha osea dos parámetros url y seguir el mismo ejemplo con las rutas para extraer información de la misma manera :
Entramos a ListaController y escribimos lo siguiente:
Guardamos los cambios y entramos de nuevo a nuestro navegador web con la url encerrada en la imagen una vez ejecutado te mostrará lo siguiente aparece el producto y el comercio que sugeriste con orden de fechas:
Y en MySQL también aparece de la misma manera:
Comentarios
Publicar un comentario