62 Cargar datos para EDITAR REGISTROS desde LA TABLA de la BASE de DATOS con(LARAVELyMYSQL)FULLSTACK

Duración: 9 min
Módulo: 📺 Módulo de IPTV: CRUD Completo Lección 9 de 11

Descripción

📝 Lección 62: Cargar Datos para EDITAR REGISTROS (EDIT)

Esta lección avanzada se enfoca en implementar el método edit() del controlador y diseñar la vista edit.blade.php para precargar la información existente del canal IPTV, lo cual es el paso previo a la actualización de datos.

1. ⚙️ Lógica del Controlador: Método IptvController@edit [00:46]

El método edit() en el controlador es responsable de recibir el ID del registro y consultar la base de datos para obtener el objeto del canal que se va a editar.

  • Recepción del ID: La función edit(id) recibe el identificador único del canal a través de la URL.
  • Consulta a la Base de Datos: Se utiliza el modelo Iptv con el método findOrFail($id) para buscar el registro [01:07].
  • Retorno de la Vista: Se retorna la vista admin.iptvs.edit, pasando el objeto $iptv a la vista para que pueda acceder a sus propiedades y precargar el formulario [01:18].

2. 🎨 Diseño de la Vista de Edición (edit.blade.php) [01:37]

La vista de edición se basa en la plantilla de create.blade.php con ajustes críticos para manejar los datos existentes y la acción de actualización.

2.1. 📝 Estructura y Títulos

  • Título del Formulario: Se actualiza a "Editar Canal [Nombre del Canal]", utilizando la propiedad $iptv->nombre [02:08].
  • Acción de Formulario: La acción del formulario apunta a la misma ruta (/admin/iptvs/{id}), pero con el método HTTP correcto.

2.2. 🔄 Ajuste del Método HTTP

  • Según las rutas de recurso de Laravel (php artisan route:list), la función update requiere los métodos PUT o PATCH [03:55]. Se utiliza la directiva de Blade @method('PATCH') dentro del formulario para anular el método POST y usar el requerido [03:19].

2.3. 📥 Precarga de Datos

  • Se utiliza la sintaxis de Blade para inyectar los valores actuales del registro en los campos del formulario:
    • Campos de Texto (Nombre y URL): El atributo value recibe el valor actual.

      HTML

      value="{{ $iptv->nombre }}"

      Esto permite que los campos muestren el valor existente [05:00].

2.4. 🖼️ Visualización de la Imagen Actual

  • Se añade la lógica para mostrar la imagen actualmente guardada, justo encima del campo de subida de archivos. Esto permite al administrador saber qué imagen está a punto de reemplazar.
    • Se utiliza el helper asset() para construir la URL pública de la imagen almacenada en storage/ [06:24].
    • Se ajusta el tamaño de la imagen (ej. 400px) para que se muestre correctamente [07:15].
  • Experiencia del Usuario (UX): Se corrige el script de previsualización de imágenes para que, al seleccionar un nuevo archivo, este reemplace la imagen actual y no se muestre debajo de ella [07:44].

3. ➡️ Siguientes Pasos [09:16]

El formulario de edición está listo para ser enviado. La próxima lección se centrará en la implementación del método update() del controlador, donde se procesará la validación, la lógica de reemplazo de archivos y la actualización final del registro en la base de datos.