68 Validación de horarios en base a los consultorios de atención con LARAVEL(PHP-MySql) FullStack
Duración: 7 min
Módulo: ⏰ Horarios y Lógica de Disponibilidad
Lección 9 de
11
Descripción
✅ Consulta 68: Validación de Horarios Basada en el Consultorio (La Solución Final)
Esta lección resuelve el problema crítico de la validación de superposición de horarios que persistía a pesar de la implementación de AJAX. El objetivo es asegurar que la validación incluya el ID del consultorio, permitiendo que diferentes consultorios tengan horarios idénticos sin generar conflictos.
🐛 1. Identificación del Error Persistente
Se reconfirma el bug en la vista Create [00:38]:
- El Fallo: Al intentar registrar un horario en un consultorio totalmente vacío (ej. "Dentista"), el sistema lanzaba un error de superposición porque la validación solo consideraba el día y el intervalo de horas, basándose en horarios de otros consultorios.
🛠️ 2. El Ajuste Crítico en el Controlador
La solución se aplica reemplazando la lógica de validación incompleta dentro de la función store del HorariosController en el backend [01:14].
- Inclusión del Campo: La nueva lógica de validación se asegura de recibir y validar el consultorio_id como un campo requerido [01:32].
- Condición a la Consulta: La parte más importante es añadir el consultorio_id a la cláusula WHERE de la consulta de validación. Esto garantiza que la superposición solo se verifique si el día, el intervalo de horas Y el Consultorio son idénticos [02:03].
- Resultado de la Prueba: La validación funciona correctamente. Ahora es posible registrar un nuevo horario (ej. lunes de 8:00 a 10:00) en el consultorio "Dentista" sin conflicto [02:36].
🥳 3. Conclusión del Módulo y Preparación para Citas
Con la validación funcionando en base al consultorio, el módulo de Horarios se declara completo [03:28].
- 📊 Actualización del Dashboard: Se añade un nuevo card al panel de administrador que muestra el Total de Horarios registrados, utilizando el método Horario::count() para hacer un conteo rápido desde el AdminController [04:47].
- ➡️ Módulo Siguiente (Citas): El curso avanzará al módulo de Citas (Reservas). Para esto, se debe crear una página pública de visualización rápida, probablemente usando Bootstrap, para que los usuarios (pacientes) puedan ver los horarios disponibles antes de reservar [07:02].
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! ❤️