23 Actualizar el color de la CARPETA en el curso de LARAVEL (PHP y MySql) FullStack

Duración: 12 min
Módulo: 🎨 Personalización y Edición de Carpetas Lección 7 de 9

Descripción

💾 Lección 23: Actualizar el Color de la Carpeta en el Backend (Update)

Este capítulo es crucial para dar funcionalidad a la opción de colores de carpeta. El proceso implica modificar la estructura de la base de datos, configurar rutas, y desarrollar la lógica del controlador para que el color seleccionado por el usuario se persista y se refleje en la interfaz.

🛠️ Preparación de la Base de Datos:

  • Modificación de la Migración: Se edita la migración de la tabla carpetas para agregar una nueva columna llamada color [01:14].
    • La columna se define como string con una longitud de 50 caracteres y es anulable (nullable) [01:20].
  • Migration Refresh: Para aplicar el cambio a la base de datos, se ejecuta el comando php artisan migrate:refresh [02:49]. Este comando borra y vuelve a crear todas las tablas, asegurando que la nueva columna color esté disponible y vacía.
  • Creación de un Nuevo Usuario: Dado que migrate:refresh borra todos los datos, se crea un nuevo usuario y una carpeta de prueba [03:16] para continuar con el desarrollo.

⚙️ Lógica del Frontend y Rutas de Envío:

  • Formulario para el Botón: Cada círculo de color en el menú desplegable se envuelve en una etiqueta <form> para permitir el envío de datos [04:39].
  • Valores Ocultos (Hidden Inputs): Se configura el formulario para enviar la información necesaria:
    • ID de la Carpeta: Se incluye un input hidden con el ID de la carpeta para identificar qué registro actualizar [09:37].
    • Valor del Color: Se incluye un input hidden con el name="color" cuyo value es el nombre del color (ej. "red") que se desea asignar [06:29].
    • Método HTTP: Se añade la protección csrf y el método PUT [09:59] para indicar una operación de actualización.
  • Ruta y Función de Actualización: Se define una nueva ruta de tipo PUT llamada mi-unidad.update-color que apunta a la nueva función updateColor en el CarpetaController [07:22].

💻 Lógica del Controlador y Persistencia:

  • Función updateColor: En el controlador, la nueva función recibe el request [08:19].
  • Búsqueda y Actualización:
    1. Se recupera el ID y el color del request [10:10].
    2. Se utiliza el método find() para buscar la carpeta por su ID.
    3. Se asigna el valor del color recibido a la columna $carpeta->color [10:29].
    4. Se llama al método save() para guardar el cambio en la base de datos.
  • Retorno: El controlador retorna a la vista anterior (return back()) [10:36].

El video concluye con la demostración funcional del cambio de color: al hacer clic en el botón rojo, la carpeta se actualiza a color rojo [11:14] y el campo color se actualiza en la base de datos [11:25]. El instructor anuncia que el próximo paso será completar los otros tres colores.