57 Delete Doctores en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack
Duración: 11 minDescripción
🗑️ Lección 57: Eliminación y Finalización del Módulo Doctores
Título del Video: 57 Delete Doctores en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack
1. ⚙️ Acción de Eliminación (Delete / Destroy)
La eliminación de un doctor requiere un proceso doble ya que implica borrar registros de dos tablas relacionadas: doctors y users.
A. Vista de Confirmación (confirm_delete)
- Lógica: El método confirm_delete($id) en el DoctorController recibe el ID del doctor, busca el registro con Doctor::find($id) y retorna la vista delete.blade.php.
- Diseño: La vista de confirmación muestra la información del doctor a eliminar dentro de una tarjeta de color rojo de peligro (Danger), y pregunta al usuario si está seguro de eliminar el registro [02:26].
- Formulario: El formulario de la vista utiliza el método @method('DELETE') para enviar la solicitud al método destroy del controlador [03:06].
B. Lógica de Eliminación (destroy)
El método destroy($id) se encarga de eliminar el doctor y su cuenta de usuario asociada, manteniendo la limpieza de la base de datos:
- Búsqueda del Doctor: El registro del doctor se busca mediante su ID [04:34].
- Eliminación del Usuario: Primero se elimina el usuario asociado al doctor utilizando la relación y el ID. Esto es clave para evitar que queden cuentas de usuario huérfanas en la tabla users [04:47].
- Doctor::find($id)->user->delete()
- Eliminación del Doctor: Finalmente, se elimina el registro de la tabla doctors [04:58].
- Redirección: Se redirige a la vista principal de doctores.index con el mensaje "Se eliminó al doctor de la manera correcta" [05:13].
2. 📊 Integración Final en el Dashboard
Para concluir el módulo, el instructor actualiza el dashboard para incluir el conteo de los doctores, similar a como se hizo con Consultorios:
- Conteo: En el AdminController, se calcula el total de doctores con Doctor::count() y la variable se pasa a la vista admin/index.blade.php [08:05].
- Card Informativa: Se añade una nueva tarjeta al dashboard que muestra el total de doctores. Se utiliza el color rojo de peligro (Danger) para esta tarjeta y se enlaza a la ruta del listado de doctores [08:54].
De esta manera, el Módulo de Doctores queda completamente funcional en sus operaciones CRUD [10:26].
El próximo capítulo dará comienzo al desarrollo del módulo de Horarios, que el instructor adelanta que será más complejo por las relaciones y consultas que requiere [10:39].
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! ❤️