59 Create Horarios en el sistema de reservas de citas medicas LARAVEL(PHP-MySql)FullStack
Duración: 21 minDescripción
📝 Lección 59: Creación y Visualización de Horarios
Título del Video: 59 Create Horarios en el sistema de reservas de citas medicas LARAVEL(PHP-MySql)FullStack
1. 💾 Acción de Creación y Almacenamiento (Store)
El método store en el HorarioController se encarga de recibir los datos del formulario y registrarlos en la base de datos:
A. Validación
Se valida que todos los campos requeridos para la creación de un horario sean completados [04:38]:
- dia: Requerido.
- hora_inicio: Requerido.
- hora_fin: Requerido (se corrige un error de validación donde se usaba hora_final en lugar de hora_fin) [08:06].
- doctor_id: Requerido.
- consultorio_id: Requerido.
B. Registro del Horario
Una vez validados los datos, el registro se realiza de manera eficiente utilizando la asignación masiva (Mass Assignment) de Laravel [06:22]:
- Horario::create($request->all());
Esto crea el nuevo registro en la tabla horarios utilizando directamente todos los datos recibidos del request, incluyendo las llaves foráneas (doctor_id y consultorio_id).
C. Redirección
Tras el registro exitoso, se redirige al administrador a la vista de listado de horarios (horarios.index) con un mensaje de éxito [06:47].
2. 📋 Listado de Horarios (Index)
Con la información ya registrada, se procede a configurar la tabla en la vista index.blade.php para mostrar la información relacionada:
- Se utiliza la carga ansiosa (Eager Loading) definida previamente en el index del controlador para acceder a la información del doctor y del consultorio desde el objeto horario [09:36].
- Campos mostrados en el listado:
3. 👁️ Acción de Visualización (Show)
Se desarrolla la vista show para ver los detalles de un horario específico.
A. Lógica del Controlador
El método show($id):
- Recibe el ID del horario.
- Busca el registro con Horario::find($id) y asegura que la búsqueda se realice incluyendo las tablas relacionadas (doctor y consultorio) [15:25].
- Retorna la variable $horario a la vista show.blade.php.
B. Diseño de la Vista
La vista de visualización presenta todos los datos del horario en formato informativo (estilo info), sin campos de formulario, usando las relaciones para mostrar los nombres completos en lugar de solo los IDs [16:05]:
- Doctor: Nombre completo, apellido y especialidad.
- Consultorio: Nombre y ubicación.
- Día: El día asignado.
- Hora de Inicio y Hora Final.
El próximo capítulo abordará la acción de Edición (Edit) y Eliminación (Delete) para el módulo de Horarios [20:54].
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! ❤️