37 Controller UPDATE en el curso de LARAVEL 10 Sistema de control de asistencia
Duración: 13 minDescripción
🎬 Lección 37: ⚙️ Implementación del Controller UPDATE
Enlace del Video: https://youtu.be/8OneLJtF-pg
💡 Objetivo:
Completar el método update en el MiembrosController para validar los datos, actualizar el registro en la base de datos y gestionar la eliminación de la fotografía antigua en el sistema de archivos (storage).
1️⃣ Ajustes de Envío del Formulario (Front-end) 📐
Para que el formulario de edición funcione correctamente según las convenciones de rutas resource de Laravel, se confirma un detalle en la vista edit.blade.php:
- Método: Se debe especificar el método de solicitud HTTP como PUT o PATCH utilizando la directiva @method('PATCH') (o @method('PUT')) dentro del formulario [00:51]. Esto le dice a Laravel que debe usar el método update del controlador.
2️⃣ Lógica del Método update (Back-end) 🧠
El método update en el MiembrosController es el encargado de procesar la solicitud:
- Validación: Se aplica el mismo sistema de validación ($request->validate([...])) utilizado en el método store para asegurar que no se envíe información en blanco ni "basura" a la base de datos al momento de actualizar [01:30].
- Búsqueda del Miembro: Se utiliza la consulta Miembro::find($id) para obtener el objeto del miembro que se está editando. Esto es necesario para poder modificar sus propiedades [02:37].
- Actualización de Campos: Se asignan los datos del $request a las propiedades del objeto $miembro (ej. $miembro->nombre_apellido = $request->nombre_apellido;) [03:07].
- Guardado y Redirección: Finalmente, se llama al método $miembro->save() para persistir todos los cambios en la base de datos [04:37]. Una vez completado, se retorna una redirección a la vista index con un mensaje de éxito [06:29].
3️⃣ Gestión de Archivos: Eliminación de la Imagen Antigua 🧹
El paso más crítico del update para optimizar el almacenamiento es la gestión de la fotografía:
- El Problema: Al subir una nueva foto, la foto anterior del miembro queda almacenada en el storage del servidor. Estos archivos obsoletos se consideran "basura" y consumen espacio innecesariamente [09:29].
- La Solución: Dentro de la lógica condicional que maneja la carga de una nueva fotografía, se debe añadir un paso para eliminar el archivo anterior [10:07].
- Comando Clave: Se utiliza la fachada Storage::delete() apuntando a la ruta de la fotografía anterior antes de subir la nueva [11:13]. Esto asegura que la foto vieja se borre antes de que la foto nueva tome su lugar.
Este proceso garantiza que el registro se actualice con la nueva foto y que el espacio de almacenamiento se mantenga limpio y optimizado [11:59].
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️