52 Update Consultorios en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack

Duración: 10 min
Módulo: 🏥 Infraestructura: Consultorios y Doctores Lección 7 de 14

Descripción

🔄 Lección 52: Actualización de Consultorios con LARAVEL

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

1. ⚙️ Lógica del Controlador (ConsultorioController.php)

El método edit es similar al método show: recibe el $id, busca el registro del consultorio con findOrFail() y lo retorna a la vista admin.consultorios.edit [01:29].

El método clave es update, que gestiona la recepción y el procesamiento de los datos editados:

  • Validación: Se reutiliza la misma validación de campos aplicada en el método store para asegurar que los datos modificados cumplan con los requisitos (ej. que los campos requeridos no estén vacíos) [06:21].
  • Búsqueda del Registro: Se busca el registro existente utilizando el $id recibido en la ruta: $consultorio = Consultorio::find($id); [06:44].
  • Actualización (Update): Se realiza la actualización del registro utilizando el método update() de Eloquent sobre el objeto encontrado, pasándole todos los datos validados del request ($request->all()). Esta es una solución muy limpia gracias a la definición de $fillable en el modelo [07:14].
  • Redirección: Se redirige al usuario a la vista de listado (consultorios.index) con un mensaje de éxito: "Se actualizó al consultorio de la manera correcta" [07:35].

2. 📝 Diseño de la Vista de Edición (edit.blade.php)

La vista de edición se crea copiando el contenido de la vista create.blade.php y adaptándolo para precargar los datos del consultorio:

  • Título Dinámico: El título se actualiza para mostrar: "Actualización del Consultorio: [Nombre]" [02:20].
  • Formulario de Envío:
    • La ruta de acción se dirige a consultorios.update, pasando el ID del consultorio [03:25].
    • Se incluye la directiva @method('PUT') para que Laravel interprete la solicitud POST como una solicitud PUT o PATCH, que es el estándar para la actualización [03:08].
  • Precarga de Datos (Value): Todos los campos del formulario utilizan el atributo value para precargar la información actual del consultorio (ej. value="{{ $consultorio->nombre }}") [03:45].
  • Selección de Estado (Select): El campo Estado utiliza una lógica de Blade (@if) para marcar automáticamente la opción Activo o Inactivo según el estado actual del consultorio [04:40].
  • Botón: El botón de envío se renombra a "Actualizar consultorio" [05:37].

El instructor demuestra que la funcionalidad de actualización permite cambiar cualquier dato, incluido el estado del consultorio (Activo/Inactivo), lo cual es crucial para la lógica posterior de asignación de citas [08:29].