30 Como mostrar los archivos de la BD en las carpetas en el curso de LARAVEL (PHP y MySql) FullStack

Duración: 10 min
Módulo: 📄 Listado y Visualización de Archivos Lección 1 de 7

Descripción

🖥️ Lección 30: Cómo Mostrar Archivos de la BD en las Carpetas

Este capítulo se centra en mostrar y listar los archivos registrados en la base de datos dentro de la interfaz de la carpeta correspondiente. El instructor aborda un error de formulario que se había introducido en videos anteriores y, finalmente, utiliza la relación de modelos de Laravel para cargar los archivos y desplegarlos en la vista.

🐛 Corrección de Errores Estructurales

Antes de listar los archivos, se corrige un error de sintaxis en la vista que hacía que dos formularios usaran la misma ruta, lo que causaba un conflicto:

  1. Error de Estructura HTML: Se corrige la vista moviendo un div que estaba rompiendo la estructura de un formulario, asegurando que el código HTML esté bien anidado [02:11].
  2. Conflicto de Rutas (Doble Formulario): Se identifica que los formularios de "Crear Carpeta" y "Subir Archivos" apuntaban a rutas con el mismo método, lo que causaba el error get origen.
    • Solución: Para diferenciar el envío de datos, el formulario de Crear Carpeta se cambia del método POST al método GET [03:14].
    • Ajuste de Ruta: La ruta en web.php para la creación de subcarpetas también se modifica para aceptar peticiones GET [03:36].

📂 Carga y Visualización de Archivos

Una vez corregidos los problemas de la interfaz, el video se enfoca en traer y mostrar la lista de archivos:

  1. Carga en el Controlador: En la función show del CarpetaController, se aprovecha la relación ya definida en los modelos de Laravel para cargar los archivos que pertenecen a la carpeta actual. Se añade la variable $archivos a la vista [06:55]:

    PHP

    $archivos = $carpeta->archivos; return view('...', compact('carpeta', 'subcarpetas', 'archivos'));

  2. Listado en la Vista: En la vista de la subcarpeta (show.blade.php), se utiliza un bucle @foreach para iterar sobre la colección $archivos recién cargada [07:39].
  3. Despliegue Simple: Inicialmente, los archivos se muestran de forma simple con el tag <li> y el nombre del archivo ($archivo->nombre), para verificar que la información de la base de datos se esté renderizando correctamente [07:59].

El video concluye con la demostración de que los archivos se listan correctamente, separados de las subcarpetas, y anuncia que el próximo paso será mejorar la estética de esta lista para que se asemeje más a una interfaz de gestor de archivos moderna (como Google Drive) [09:29].