86 CRUD - READ cargar PELÍCULAS FAVORITAS desde la BASE de DATOS con (LARAVEL y MYSQL)FULLSTACK
Duración: 12 minDescripción
🎬 Lección 86: Cargar Películas Favoritas en el Dashboard
Esta lección avanzada implementa una consulta compuesta para usar los IDs de la tabla pivote (favoritos) y buscar la información completa de esas películas en la tabla principal (peliculas).
1. ⚙️ Consulta de IDs de Películas Favoritas [01:21]
El primer paso es refinar la consulta para extraer únicamente los IDs de las películas que el usuario autenticado ha marcado como favoritas.
- Extracción de IDs: Se utiliza el modelo Favorito para seleccionar solo la columna id_pelicula [01:54].
- Filtro por Usuario: Se mantiene la condición where para filtrar los registros únicamente por el correo electrónico del usuario autenticado [04:06].
- Método pluck(): Se utiliza el método pluck() (junto con distinct()) para obtener una lista limpia (un array) de IDs de películas, eliminando duplicados [02:48].
- El resultado ($id_peliculas) es un array de PHP que contiene, por ejemplo, [5, 10, 12, 11].
2. 🧠 Consulta Principal con whereIn [05:15]
El array de IDs se utiliza en una segunda consulta para traer los datos completos de las películas.
- Modelo Pelicula: Se consulta el modelo principal de Pelicula [05:19].
Método whereIn: Se utiliza el método whereIn de Eloquent. Este método busca registros donde el valor de una columna (en este caso, el id de la película) esté incluido en un array de valores ($id_peliculas) [05:29].
PHP
$peliculas = Pelicula::whereIn('id', $id_peliculas)->get();
- Envío a la Vista: La colección $peliculas (que ahora contiene todos los datos: título, imagen, ID, etc.) se pasa a la vista home.blade.php [06:36].
3. 🖼️ Despliegue en la Vista de Usuario [07:49]
Se adapta el código de frontend para mostrar los resultados con el diseño de la plataforma.
- Reutilización del Diseño: Se copia el código del bucle @foreach y la estructura de tarjetas (Cards) de la vista principal (index.blade.php) [08:11].
- Adaptación de Variables: El bucle se ajusta para iterar sobre la variable $peliculas (la colección de resultados) y usar la variable individual $pelicula dentro del loop [08:31].
- Resultado Final: El dashboard (home.blade.php) del usuario ahora muestra correctamente todas sus películas favoritas con sus respectivas imágenes y títulos, y son funcionales (se puede hacer clic para ver el detalle) [09:03, 11:09].
Próximo paso: La siguiente lección se centrará en la implementación de la función Historial de Películas, donde se registrarán las películas que el usuario ha visualizado [11:28].
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️