22 ORM Eloquent LECTURA DE DATOS en la PLATAFORMA de PELICULAS (LARAVELyMYSQL)FULLSTACK

Duración: 13 min
Módulo: 🖥️ Módulo de Arquitectura Admin y Vistas Blade Lección 4 de 8

Descripción

💻  Lección 22: ORM Eloquent - Lectura de Datos de Películas

Esta lección cubre la configuración de la ruta, el controlador y la vista para realizar la lectura de datos (consulta) de los registros de películas insertados en la base de datos, utilizando el sistema de rutas, controladores, modelos y el motor de plantillas Blade de Laravel.

1. 📂 Configuración de la Vista y la Ruta [00:18]

Se establece el archivo de vista y se define la ruta para que sea manejada por un controlador, permitiendo la interactividad.

  • Creación del Directorio de Vistas: Se crea una nueva carpeta llamada peliculas dentro de resources/views para mantener las vistas relacionadas con las películas organizadas [00:41].
  • Creación de la Vista Inicial: Dentro de este directorio, se crea el archivo Index.blade.php [01:03].
  • Definición de Ruta con Controlador: Se modifica el archivo de rutas (web.php) para enlazar la URL /peliculas a una función específica dentro del controlador, en lugar de cargar una vista estática [04:21]:

    PHP

    Route::get('peliculas', [App\Http\Controllers\PeliculaController::class, 'index']);

    Esta configuración delega la tarea de cargar la vista a la función index del PeliculaController.

2. 🧠 Lógica del Controlador y Consulta con Eloquent [02:57]

Se implementa la lógica en el controlador para obtener los datos de la base de datos utilizando el ORM Eloquent.

  • Implementación de la Función index: Se define la función public function index() dentro de PeliculaController [03:17].
  • Importación del Modelo: Se añade la declaración use App\Models\Pelicula; al inicio del controlador para poder interactuar con la tabla peliculas [06:33].
  • Consulta a la Base de Datos: Se utiliza Eloquent para traer todos los registros de la tabla, con una sola línea de código [07:05]:

    PHP

    $peliculas = Pelicula::all(); // 'all()' trae todos los registros

  • Paso de Datos a la Vista: La función index retorna la vista (view('peliculas.Index')) y, mediante el método compact(), adjunta la variable $peliculas para que esté disponible en el archivo Blade [07:37].

3. 🖥️ Despliegue de Datos en la Vista (Blade) [08:20]

Finalmente, se utiliza el motor de plantillas Blade para iterar sobre los datos y mostrarlos en el HTML.

  • Directiva @foreach de Blade: En Index.blade.php, se utiliza la directiva @foreach para iterar sobre la variable $peliculas (que contiene todos los registros) [08:35].
  • Acceso a los Campos: Dentro del bucle, se muestra la información de cada película ($pelicula) accediendo a sus campos (columnas) usando la sintaxis de doble llave {{ }} [09:33].
    • Ejemplo de despliegue: {{ $pelicula->id }} y {{ $pelicula->titulo_p }}.
  • Resultado: Se logra demostrar la lectura de los registros (ID, título y descripción) directamente desde la base de datos [11:11].

La lección concluye con el código limpio y separado: el controlador gestiona la lógica de la base de datos (consulta), y la vista se encarga únicamente de desplegar el resultado.