56 Update Doctores en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack

Duración: 16 min
Módulo: 🏥 Infraestructura: Consultorios y Doctores Lección 11 de 14

Descripción

👨‍⚕️ Lección 56: Visualización y Actualización de Doctores

Título del Video: 56 Update Doctores en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack

1. 👁️ Acción de Visualización (Show)

La acción show permite ver todos los detalles de un doctor específico:

  • Lógica del Controlador: El método show recibe el ID del doctor a través de la ruta y utiliza el método Doctor::findOrFail($id) para buscar el registro y enviarlo a la vista [01:54].
  • Diseño de la Vista: La vista show.blade.php muestra los datos del doctor de manera informativa, sin campos de formulario, utilizando la clase de estilo info [03:32].
    • Se muestra la información específica del doctor: Nombres y Apellidos, Teléfono, Licencia Médica y Especialidad [04:16].
    • El Correo Electrónico se obtiene utilizando la relación definida con el modelo User ($doctor->user->email) [05:04].
    • Se incluye un botón de "Volver" para retornar al listado [05:39].

2. 🔄 Acción de Actualización (Update)

Esta acción permite modificar tanto los datos del doctor como sus credenciales de usuario (nombre de usuario, correo y contraseña).

A. Vista de Edición (edit.blade.php)

  • Lógica del Controlador: El método edit recibe el ID, busca el doctor y retorna la vista edit.blade.php [06:22].
  • Formulario de Envío:
    • La ruta de acción se dirige a doctores.update y se usa la directiva @method('PUT') para indicar la operación de actualización [07:40].
    • Se utiliza el color de estilo success para el formulario de actualización [08:44].
  • Precarga de Datos: Todos los campos del formulario (Nombres, Apellidos, Teléfono, Licencia, Especialidad) se precargan con los valores actuales del registro [08:03].
  • El campo de Correo Electrónico también se precarga usando la relación: $doctor->user->email [09:44].

B. Lógica del Controlador (update)

El método update gestiona la actualización en ambas tablas:

  1. Validación: Se valida toda la información enviada, incluyendo los campos del doctor y los campos del usuario (correo único, contraseña confirmada) [11:15].
  2. Actualización del Doctor:
    • Se busca el doctor por su ID.
    • Se actualizan los campos correspondientes a la tabla doctors (nombres, teléfono, especialidad, etc.) [12:48].
  3. Actualización del Usuario:
    • Se busca el usuario asociado a través del ID del doctor.
    • Se actualizan el nombre y el correo electrónico en la tabla users [13:18].
    • Se verifica si el campo de contraseña fue modificado. Si tiene un valor, se encripta y se actualiza la contraseña del usuario; de lo contrario, se ignora [13:31].
  4. Redirección: Se redirige al usuario a doctores.index con el mensaje de éxito: "Se actualizó al doctor de la manera correcta" [13:40].

El próximo paso será la implementación de la acción de Eliminación (Delete) [15:07].