105 Delete configuraciones del Sistema con LARAVEL(PHP-MySql) FullStack
Duración: 12 min
Módulo: 📝 Historial Clínico, Configuraciones y Reportes
Lección 6 de
23
Descripción
🗑️ Lección 105: Eliminación Segura de las Configuraciones del Sistema
Esta lección se enfoca en implementar la funcionalidad de eliminación (DELETE) para el módulo de configuraciones. El punto crucial es asegurar que, al eliminar el registro de la base de datos, también se borre permanentemente el archivo del logotipo asociado del servidor, evitando el almacenamiento de archivos obsoletos.
1. ❓ Vista de Confirmación (confirmDelete)
Antes de realizar la eliminación, se dirige al administrador a una vista de confirmación para prevenir borrados accidentales.
a. Lógica del Controlador (delete) [01:15]
- Se creó la función delete($id) en el ConfiguracionesController.
- Esta función busca el registro de configuración por su ID y lo pasa a la vista de confirmación.
b. Interfaz de Confirmación (delete.blade.php) [01:51]
- Se adaptó la vista de edición (edit.blade.php) para esta función.
- Título y Pregunta: Muestra el título "Eliminar Configuración" y la pregunta "¿Está seguro de eliminar este registro?" [03:51].
- Campos Deshabilitados: Los campos de texto se marcan con el atributo disabled [04:13] para que el administrador pueda visualizarlos sin poder modificarlos.
- Ruta de Acción: El formulario apunta al método destroy y utiliza el helper @method('DELETE') [02:45].
- Botón de Eliminación: Se utiliza el color rojo (btn-danger) para el botón "Eliminar".
2. 💣 Lógica de Eliminación (destroy)
El método destroy es el responsable de ejecutar la eliminación tanto en el servidor como en la base de datos.
a. Búsqueda y Preparación [05:59]
- El método destroy($id) recibe el ID del registro a eliminar.
- Se recupera el objeto $configuracion completo utilizando Configuracion::find($id) para acceder al nombre del archivo de logotipo.
b. Eliminación del Logotipo del Servidor [06:41]
- Este es el paso más importante para mantener la limpieza del servidor. Se utiliza la fachada Storage de Laravel:
- Se llama al método Storage::disk('public')->delete().
- Se le pasa la ruta de la imagen: public/logos/ concatenada con el nombre del archivo ($configuracion->logo).
- Esto borra el archivo físico de la carpeta storage/app/public/logos, liberando espacio.
c. Eliminación del Registro de la Base de Datos [07:08]
- Una vez que el archivo físico ha sido eliminado, se procede a borrar el registro de la tabla:
- $configuracion->destroy($id) o $configuracion->delete()
- Finalmente, se redirige al index con un mensaje de éxito, confirmando que la configuración fue eliminada correctamente.
3. 📈 Actualización del Dashboard [08:33]
Se implementó un nuevo contador en el dashboard principal del administrador.
- Widget Añadido: Se incluyó un widget de color Primary (azul) con el ícono de engranaje (fa-cog).
- Contador: Muestra el "Total de Configuraciones", utilizando el método count() sobre el modelo Configuracion.
- Propósito: Este contador permite al administrador ver rápidamente cuántos registros de configuración existen (generalmente, solo uno).
Lecciones
⚙️ Inicio y Estructura Base
👤 CRUD de Usuarios y UX Avanzada
Lección 2. 10 Listado de usuarios del controllador a la vista en el SISTEMA (PHP y MySql)FullStack
9 min
Lección 3. 11 Diseño de tabla con BOOTSTRAP en la vista en el SISTEMA (PHP y MySql) FullStack
12 min
Lección 6. 14 Registro y validación de datos para USUARIOS en el SISTEMA (PHP y MySql)FullStack
16 min
👩💼 Módulo de Secretarias
🤒 Gestión de Pacientes
Lección 4. 38 Como llamar desde un seeder a un factory de pacientes en LARAVEL(PHP-MySql) FullStack
14 min
Lección 8. 42 Show Pacientes en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack
12 min
Lección 9. 43 EDIT Pacientes en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack
14 min
🏥 Infraestructura: Consultorios y Doctores
⏰ Horarios y Lógica de Disponibilidad
Lección 1. 60 Calendario de Atención de Doctores en el sistema con LARAVEL(PHP-MySql) FullStack
14 min
Lección 10. 69 Plantilla Web para el sistema de reserva de citas con LARAVEL(PHP-MySql) FullStack
13 min
🔑 Seguridad, Roles y Permisos
Lección 6. 76 Identificando el ROL de cada Usuario en el Sistema con LARAVEL(PHP-MySql) FullStack
11 min
Lección 8. 78 Mostrar el Menú según los Roles y Permisos en Sistema con LARAVEL(PHP-MySql) FullStack
7 min
Lección 9. 79 Acceso No Autorizado con Roles y Permisos en Sistema con LARAVEL(PHP-MySql) FullStack
14 min
Lección 12. 82 Cargar Horario en la página principal en Sistema con LARAVEL(PHP-MySql) FullStack
16 min
Lección 13. 83 Redirigir a ADMIN desde Login y Register en Sistema con LARAVEL(PHP-MySql) FullStack
12 min
🗓️ Reserva de Citas y FullCalendar
Lección 2. 87 Formulario para Registrar Citas Medicas del Sistema con LARAVEL(PHP-MySql) FullStack
18 min
Lección 3. 88 Guardar Cita Medica en la Base de Datos de Sistema con LARAVEL(PHP-MySql) FullStack
15 min
Lección 9. 94 Cargar Reservas de Citas Medicas con AJAX del Sistema con LARAVEL(PHP-MySql) FullStack
20 min
📝 Historial Clínico, Configuraciones y Reportes
Lección 17. 116 Modificación del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
15 min
Lección 19. 118 Reporte Impreso del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
17 min
Lección 20. 119 Buscar Pacientes del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
17 min
Lección 21. 120 Buscar Pacientes del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
12 min
💵 Pagos, Impresión y Cierre
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️