43 EDIT Pacientes en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack

Duración: 14 min
Módulo: 🤒 Gestión de Pacientes Lección 9 de 11

Descripción

✏️ Lección 43: Implementación de la Vista Edit para Pacientes

Título del Video: 43 EDIT Pacientes en el sistema de reservas de citas medicas LARAVEL (PHP-MySql) FullStack

Esta lección aborda la creación de la función edit del CRUD para el módulo de Pacientes, la cual permite cargar los datos existentes de un paciente en un formulario para su posterior modificación y actualización.

1. 💻 Lógica del Controlador (PacienteController.php)

La función edit recibe el ID del paciente para buscar su registro en la base de datos y preparar la vista:

  • Recepción del ID: El método edit($id) captura el identificador del paciente desde la ruta [01:10].
  • Búsqueda del Registro: Se utiliza el método findOrFail() para buscar al paciente por su ID, de forma similar a la función show.
    • Código: $paciente = Paciente::findOrFail($id); [01:25].
  • Retorno de la Vista: Se retorna la vista admin.pacientes.edit, pasando la variable $paciente con todos sus datos [01:38].

2. 🖼️ Diseño del Formulario de Edición (edit.blade.php)

La vista de edición se crea copiando el formulario de registro (create.blade.php) y realizando las modificaciones necesarias para cargarlo con la información existente:

Configuración del Formulario

  • Título Dinámico: El título se ajusta para mostrar el nombre del paciente que se está modificando (ej: "Modificar paciente: Stefania Cárdenas") [02:10].
  • Ruta y Método de Envío:
    • La acción del formulario apunta a la ruta update de pacientes, concatenando el ID del paciente para especificar qué registro se actualizará: route('admin.pacientes.update', $paciente->id) [04:25].
    • El formulario debe usar el método de envío POST en el HTML, pero debe incluir el campo directiva de Laravel @method('PUT') para simular la solicitud PUT o PATCH requerida para las actualizaciones en RESTful [04:09].
  • Botón de Acción: El texto del botón de registro se cambia a "Actualizar paciente" [03:30].

Carga de Datos en Campos Simples

Para los campos de texto (<input>), se utiliza el atributo value para precargar el dato existente del paciente:

  • Sintaxis: <input ... value="{{ $paciente->nombre_campo }}"> [05:07].
  • Esto se aplica a campos como nombres, apellidos, ci, numero_de_seguro, fecha_nacimiento, celular, correo, direccion, alergias, contacto_emergencia y observaciones [06:45].

Carga de Datos en Campos Select (Género y Grupo Sanguíneo)

Para los menús desplegables (<select>), se requiere lógica condicional para que la opción correcta aparezca seleccionada por defecto:

  • Género: Se utiliza una estructura condicional if/else para determinar si el valor del paciente es 'm' o 'f'. La opción que coincida se coloca primero en el menú desplegable para que sea la seleccionada por defecto [07:19].
  • Grupo Sanguíneo: Se utiliza el helper de Laravel para insertar el atributo selected (selected="selected") solo en la opción que coincida con el valor del paciente:
    • Código: <option value="A+" {{ ($paciente->grupo_sanguineo == 'A+') ? 'selected' : '' }}>A positivo</option> [10:04].

Al finalizar, se verifica que todos los campos del paciente están correctamente cargados y listos para ser editados [13:40].

El próximo capítulo implementará la función update en el controlador para procesar la validación y el guardado de los cambios realizados en este formulario [14:00].