85 CRUD - READ FAVORITOS desde la TABLA de la BASE de DATOS con (LARAVEL y MYSQL)FULLSTACK

Duración: 9 min
Módulo: ✨ Módulo de Experiencia de Usuario y Cierre Lección 5 de 11

Descripción

📖 Lección 85: CRUD - READ de Favoritos desde la Base de Datos

Esta lección avanzada establece la lógica del backend para filtrar y cargar solo las películas marcadas como favoritas por el usuario que ha iniciado sesión, y realiza ajustes cruciales en las rutas y la navegación.

1. ⚙️ Ajustes de Rutas y Navegación [00:20]

Se corrige un conflicto de rutas y se asegura que la navegación principal dirija al usuario a las vistas correctas.

  • Corrección de Ruta: La ruta resource del controlador se renombra de home a favorito para evitar colisiones con la ruta /home que usa Laravel para el dashboard [00:27]. La acción del formulario de favoritos se actualiza para apuntar a la nueva URL /favorito [00:43].
  • Habilitación de Enlaces: Se asegura que los elementos de navegación en la plantilla principal (layout/principal.blade.php) sean funcionales [01:38]:
    • El ícono/logo principal y el enlace "Inicio" ahora dirigen a la URL raíz del sitio ({{ url('/') }}) [02:02].
    • El enlace "Favoritos" ahora dirige al dashboard del usuario ({{ url('home') }}) [02:47].

2. 🧠 Lógica de Lectura (READ) en el Controlador [03:10]

Se implementa la consulta Eloquent en el método index del FavoritoController, el cual se ejecuta al acceder a la ruta /home (el dashboard).

  • Obtención de Email: Se rescata el correo electrónico del usuario autenticado para usarlo como filtro en la consulta [04:26]:

    PHP

    $email = Auth::user()->email;

  • Consulta Filtrada con where: Se utiliza el modelo Favorito para consultar la base de datos, aplicando la cláusula where para filtrar los registros por el correo del usuario logueado [05:07]:

    PHP

    $favoritos = Favorito::where('email', $email)->get();

  • Envío a la Vista: La colección $favoritos se retorna a la vista home.blade.php [06:10].

3. 🖼️ Despliegue de Resultados de Favoritos [07:07]

Se verifica que la consulta funciona correctamente al iterar sobre la colección de favoritos en la vista.

  • Bucle @foreach: Se añade un bucle @foreach en la vista home.blade.php para iterar sobre la variable $favoritos [07:14].
  • Prueba de ID: Inicialmente, se imprime solo el ID de la película ($favorito->id_pelicula) de cada registro para verificar que el filtro es correcto y solo se muestran las películas que el usuario actual marcó [07:32].
  • Confirmación: La prueba demuestra que si un registro no coincide con el email del usuario autenticado, no se muestra, validando la lógica de la consulta [08:12].

Próximo paso: La siguiente lección se enfocará en adaptar la vista para que, en lugar de mostrar solo el ID, cargue y muestre la información completa de la película (imagen, título, etc.), utilizando el diseño de cards [08:46].