Archivos: resources/views/cursos/create.blade.php appHttpControllersCursoController.php lang/ config/app.php app/Http/Requests Validar campos requeridos Campos no vacíos Cuando un campo de la base de datos no tenga la propiedad nullable, no deberíamos intentar guardar campos vacíos sin mostrar un error. Para eso tenemos que validar los campos del formulario. En la función store, usaremos un método del objeto request llamado […]
Archivos: routes/web.php resources/views/cursos/show.blade.php \app\Http\Controllers\CursoController.php resources/views/cursos/edit.blade.php Crear el formulario Formulario HTML Este es el código HTML que nos mostrará el formulario, lo escribiremos en la plantilla: Ruta para el formulario Creamos una ruta tipo post para procesar los datos, hacia la url «cursos.store», usando el método store (que en seguida crearemos) del controlador CursoController: En al […]
Archivos: app/Http/controllers/CursoController.php resources/views/cursos/index.blade.php resources/views/layouts/plantilla.blade.php routes/web.php resources/views/cursos/show.blade.php Listar registros Según hemos aprendido en lecciones anteriores, podemos mostrar la colección completa de cursos si añadimos estas líneas al método index de CursoController: Para poder darle formato a estos registros, tenemos que pasarle la colección a la vista. Por lo tanto, eliminamos la segunda línea (return $cursos) y […]
Archivos: Models/Curso.php Definiciones Los mutadores y accesores nos dan cierto control sobre la forma en que almacenamos o leemos los registros en la base de datos. El código para crear un mutador y un accesor Al principio del modelo tenemos que importat la definición del atributo al que luego vamos a llamar: Luego, dentro de […]
Métodos para las consultas que vamos a utilizar: all get where orderBy select take first find Vamos a practicar con Tinker haciendo consultas. El primer paso es ejecutar Tinker y hacer uso del modelo que necesitaremos para la tabla en cuestión. Para recuperar todos los registros de la tabla Para devolver sólo la categoría «Diseño […]
Archivos que vamos a tratar /database/factories /database/factories/UserFactory.php /seeders/DatabaseSeeder.php /seeders/CursoSeeder.php ¿Y si necesitamos 50 registros de prueba? Usaremos Factories para esto. Creamos un Factory con el siguiente comando para la tabla cursos: Creará un documento llamado CursoFactory.php en la carpeta factories. En el documento creado, tendremos una clase que se extiende de la clase Factory. En […]
La siguiente dirección nos permitirá generar los archivos necesarios para comenzar con la creación de cualquier módulo: https://validator.prestashop.com/generator A partir de las instrucciones de la documentación de Prestashop, hemos seguido un «tutorial» para crea un módulo muy básico, disponible ya en mi repositorio a través de esta dirección: https://github.com/JorgeGolo/first-upload-module Este es el enlace a la […]
Archivos que vamos a tratar /database/seeders/DatabaseSeeder.php /migrations Rellenaremos la base de datos con datos de prueba para hacer consultas con Eloquent. Antes de crear Seeders y Factories, ejecutamos este comando: Esto eliminará todas las tablas de la base de datos. Lo hacemos porque vamos a eliminar las migraciones que creamos en el capítulo anterior, y […]
Definiciones ORM: Modelo de programación que permite mapear las estructuras de una base de datos relacional (en nuestro ejercicio, MySQL), sobre una estructura lógica de entidades para simplificar y acelerar el desarrollo. Las estructuras de la base de datos quedan vinculadas con las entidades lógicas o base de datos virtual definida en el ORM, de tal modo que […]
Archivos/carpetas database/migrations Diferencia entre migrate:fresh y migrate:refresh El primero ejecuta uno a uno el método down de cada migración, y luego ejecuta uno a uno el método up. El segundo borra todas las tablas, y ejecuta uno a uno el método up. Son métodos destructivos, que eliminarían los registros de la base de datos si […]