14 Crear SUBCARPETAS en el sistema de gestión de archivos en el curso de LARAVEL (PHP y MySql)

Duración: 10 min
Módulo: 📁 Gestión y Navegación de Carpetas Lección 5 de 7

Descripción

📁 Lección 14: Creación de Subcarpetas en el Sistema de Gestión de Archivos

Este capítulo se centra en adaptar la funcionalidad de creación de carpetas para que las nuevas entradas se guarden como subcarpetas (hijas), asociándolas a la carpeta padre a la que el usuario ha ingresado.

🛣️ Rutas y Funciones Personalizadas:

  • Ruta de Subcarpeta: Se define una nueva ruta de tipo POST (/admin/mi-unidad/carpeta/crear-subcarpeta) que utiliza una función personalizada en el controlador: crearSubcarpeta [01:15].
  • Nueva Función en el Controlador: Se crea la función pública crearSubcarpeta(Request $request) en el CarpetaController para manejar la lógica de guardado jerárquico [02:21].

🧱 Adaptación del Formulario y Lógica de Almacenamiento:

  • Campo Oculto para ID Padre: Para vincular la nueva subcarpeta a su carpeta contenedora, se añade un campo de formulario oculto (type="hidden") [05:17].
  • Envío del ID Padre: Este campo oculto envía el ID de la carpeta actual (la carpeta padre) a través de la variable $carpeta->id [05:28]. Se nombra el campo como carpeta_padre_id [06:00].
  • Validación Extendida: Se extiende la validación del request para exigir que no solo el nombre sea requerido, sino también el campo carpeta_padre_id [06:10].
  • Guardado Jerárquico: En el controlador, se modifica la lógica de guardado:
    • Se recupera el campo nombre del request.
    • Se recupera el campo carpeta_padre_id del request y se asigna a la nueva instancia del modelo Carpeta [06:36].
  • Redirección y UX: Se utiliza la función return back() [07:37] para redireccionar al usuario a la vista de la carpeta padre actual, manteniendo la continuidad de la navegación y mostrando la notificación de éxito.

El video finaliza con una demostración exitosa, mostrando cómo las nuevas carpetas (Excel, Powerpoint) se crean dentro de la carpeta "Office", y al verificar la base de datos [08:29], se confirma que los nuevos registros tienen el ID de la carpeta padre asignado correctamente.