30 Store Secretarias en el sistema de reserva de citas medicas con LARAVEL(PHP-MySql)FullStack
Duración: 16 minDescripción
💾 Lección 30: Almacenamiento de Secretarias en Múltiples Tablas (Store)
Título del Video: 30 Store Secretarias en el sistema de reserva de citas medicas con LARAVEL (PHP-MySql) FullStack
Esta lección es fundamental ya que explica la lógica del controlador para manejar un único formulario (create) y guardar la información en dos tablas relacionadas (users y secretarias), asegurando la integridad de los datos.
1. 🛣️ Definición de la Ruta de Envío (Store)
Se habilita la ruta que recibirá los datos del formulario de registro y ejecutará la lógica de guardado:
- Método: Se define una ruta de tipo Route::post() para enviar la información [01:59].
- Función Asociada: La ruta apunta a la función store dentro del SecretariaController.
2. 🛡️ Validación de Datos
Antes de guardar, es crucial validar toda la información recibida, especialmente las restricciones de unicidad y seguridad.
- Campos de Secretaria:
- nombres y apellidos: Requeridos.
- ci (Cédula/DNI): Requerido y debe ser unique en la tabla secretarias [07:44].
- celular, fecha_nacimiento, direccion: Requeridos.
- Campos de Usuario:
3. 💾 Lógica de Guardado en Dos Tablas
El proceso de registro ocurre de forma secuencial y dependiente, garantizando que ambas tablas se actualicen si el proceso es exitoso.
🔑 Primer Paso: Creación del Usuario (users)
- Se instancia un nuevo objeto del Modelo User [10:59].
- Se asignan los campos de la cuenta:
- Se ejecuta el método $usuario->save() para guardar el registro en la tabla users.
🔗 Segundo Paso: Creación de la Secretaria (secretarias)
- Se instancia un nuevo objeto del Modelo Secretaria [11:51].
- Establecimiento de la Relación: El campo más importante es user_id. Este campo se asigna utilizando el ID autoincremental que Laravel acaba de generar para el nuevo usuario: $usuario->id [12:15].
- Se asignan los campos restantes de la secretaria (nombres, apellidos, CI, celular, etc.).
- Se ejecuta el método $secretaria->save() para guardar el registro en la tabla secretarias.
🎉 Redirección Final
Una vez que ambos registros se han creado exitosamente, se redirige al usuario a la vista de listado (admin.secretarias.index) con un mensaje de éxito: "Se registró la secretaria de la manera correcta" [13:48]. El resultado final es un registro en la tabla users con una clave primaria que es referenciada en la tabla secretarias como clave foránea (user_id) [15:00].
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! ❤️