44 CRUD (UPDATE) trabajando con el archivo EDIT.BLADE.PHP con (LARAVEL y MYSQL)FULLSTACK

Duración: 9 min
Módulo: 🔄 Módulo CRUD: Actualización y Eliminación Lección 1 de 4

Descripción

✏️  Lección 44: CRUD (UPDATE) Trabajando con el Archivo EDIT.BLADE.PHP

Esta lección avanzada se enfoca en el inicio de la funcionalidad de Actualización (Update) dentro del CRUD, configurando el controlador para buscar el registro a editar y, crucialmente, precargando los datos existentes del registro dentro del formulario de la vista edit.blade.php.

1. 🔗 Redireccionamiento y Lógica del Backend (Método edit()) [00:30]

Se configura el flujo para que el botón "Editar" envíe el ID del registro y se habilita la lógica en el controlador para manejar la solicitud.

  • Configuración del Enlace: En la vista Index, el botón "Editar" se enlaza a la ruta nombrada peliculas.edit y se le pasa el ID del registro ($pelicula->id) como parámetro [00:47].
  • Recepción y Búsqueda en el Controlador: La función edit($id) en el controlador recibe el ID, utiliza findOrFail($id) para buscar el registro y retorna la vista admin.peliculas.edit [01:57].
    • Seguridad: El uso de findOrFail() garantiza que si el ID no existe, se muestre la página de error 404 en lugar de un error de código [02:14].
    • Paso de Datos: La variable $pelicula se pasa a la vista edit mediante la función compact('pelicula') [02:33].

2. 📝 Configuración de la Vista edit.blade.php [03:45]

Se reutiliza la estructura del formulario de creación (create.blade.php) y se adapta para la edición.

  • Título y Botón:
    • El título de la página se cambia de "Nueva Película" a "Editar Película" y muestra el título actual del registro [04:23].
    • El botón de envío se renombra de "Registrar" a "Actualizar" [05:08].
    • El estilo visual del card y el botón se cambia al color verde (success) para diferenciarlo de la creación (azul) [04:50].

3. 🎯 Precarga de Datos del Formulario [05:20]

El objetivo principal es poblar cada campo del formulario con la información actual del registro que se está editando.

  • Campos de Texto/Entrada (<input>): Para los campos de entrada, se accede al valor del objeto $pelicula directamente en el atributo value del input [05:58].
    • Sintaxis: value="{{ $pelicula->titulo_p }}"
    • Esto se aplica a campos como Título, Categoría, Tráiler, Duración, Link 1 y Link 2 [06:18].
  • Campos de Área de Texto (<textarea>): Para la descripción, el valor se coloca entre las etiquetas de apertura y cierre del textarea [07:29].
    • Sintaxis: <textarea name="descripcion_p">{{ $pelicula->descripcion_p }}</textarea>
  • Imagen Actual (Vista Previa): Se agrega un bloque de código que utiliza la etiqueta <img> y el helper asset() para mostrar la imagen actual del registro cargada desde la carpeta storage [07:44]. Esto asegura que el usuario sepa qué imagen está asociada al registro que está editando.

4. 🔜 Próximo Paso [08:55]

La siguiente lección se centrará en la implementación del método update() en el controlador. Esto incluye configurar la etiqueta <form> para usar el método PUT o PATCH (el estándar para actualización en REST) y enviar los datos modificados del formulario para su almacenamiento final en la base de datos.