45 DELETE Pacientes en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack

Duración: 11 min
Módulo: 🤒 Gestión de Pacientes Lección 11 de 11

Descripción

🗑️ Lección 45: Implementación de la Función DELETE y Cierre del Módulo de Pacientes

Título del Video: 45 DELETE Pacientes en el sistema de reservas de citas medicas LARAVEL (PHP-MySql) FullStack

Esta lección finaliza el módulo de Pacientes implementando la acción de eliminación (destroy) y actualizando el panel principal (Dashboard) para mostrar las estadísticas del módulo.

1. ⚙️ Lógica del Formulario de Eliminación

La vista de confirmación (delete.blade.php), creada en la lección anterior, se envuelve en una etiqueta <form> para enviar la solicitud de eliminación:

  • Ruta de Acción: El formulario se dirige a la ruta pacientes.destroy, enviando el ID del paciente a eliminar [02:12].
  • Método: Se utiliza el método POST en la etiqueta <form>, pero se incluye la directiva @method('DELETE') para que Laravel lo interprete como una solicitud DELETE [02:00].
  • Seguridad: Se incluye la directiva @csrf para la protección del formulario.

2. 💻 Función destroy en el Controlador

En el PacienteController, el método destroy recibe el ID del paciente y ejecuta el proceso de eliminación de forma sencilla:

  • Eliminación: Se utiliza el método estático destroy del modelo Paciente, pasándole el ID [02:41].
    • Código: Paciente::destroy($id);
  • Redirección: Tras la eliminación, se redirige al usuario a la vista de listado (pacientes.index) con un mensaje de éxito: "Se eliminó al paciente de la manera correcta" [05:04].

Se realiza una prueba de la funcionalidad para confirmar que los registros son eliminados de la base de datos de manera correcta [05:19].

3. 📊 Finalización y Estadísticas del Dashboard

Para dar por concluido el módulo, se actualiza el Panel Principal (Dashboard) para reflejar el progreso del sistema:

  • Contador de Pacientes: En el AdminController, se realiza una consulta para obtener el número total de pacientes registrados (Paciente::count()) [07:12].
  • Visualización en la Vista: Se crea una nueva tarjeta de información en admin.index.blade.php para mostrar el "Total pacientes" con el recuento obtenido y se le asigna un color verde (success) [06:31].
  • Enlace de la Tarjeta: El enlace "Más info" de esta tarjeta se configura para dirigir al usuario al listado de pacientes (route('admin.pacientes.index')) [08:58].

4. 🚀 Próximo Módulo

Con el CRUD de Pacientes completado, el instructor anuncia que el siguiente módulo a desarrollar será Consultorios (Consulting Rooms) [09:44].