87 Formulario para AGREGAR a HISTORIAL de PELÍCULAS con (LARAVEL y MYSQL)FULLSTACK
Duración: 11 minDescripción
📜 Lección 87: Formulario para Agregar a Historial de Películas
Esta lección avanzada crea el modelo, la migración y el formulario necesario para guardar la información de las películas visitadas por el usuario, preparándola para ser utilizada como un historial personal.
1. 🛠️ Preparación de la Base de Datos y el Modelo [01:58]
Se crean los archivos necesarios para gestionar la nueva funcionalidad de "Historial".
Creación de Archivos: Se utiliza el comando de Artisan para generar el modelo, la migración y el controlador con recursos (-mcr) en un solo paso:
Bash
php artisan make:model Historial -mcr
- Diseño de la Migración: Se modifica el archivo de migración para la nueva tabla historials (se recomienda usar nombres en plural para las tablas). Al igual que la tabla de favoritos, esta contendrá:
- Ejecución de la Migración: Se ejecuta la migración para crear la tabla en MySQL: php artisan migrate [03:32].
Definición de Ruta: Se añade la ruta resource para el nuevo HistorialController en routes/web.php [04:01]:
PHP
Route::resource('historial', HistorialController::class);
2. 📝 Diseño del Formulario en la Vista de Película (show) [05:33]
A diferencia de la función "Favoritos", esta función debe registrar el historial en el momento en que el usuario hace clic para ver la película. Por ello, el formulario se envuelve alrededor de los botones de reproducción.
- Estructura de Formulario: Se crea un formulario con el método POST y el token CSRF (@csrf) alrededor del primer botón de reproducción ("Ver película opción 1") en la vista peliculas/show.blade.php [06:01].
Acción del Formulario: La acción del formulario se dirige a la ruta de almacenamiento del historial [06:40]:
PHP
action="{{ url('historial') }}"
- Campos Ocultos (hidden): Se añaden tres campos de datos ocultos para ser enviados al controlador [07:22]:
- ID de la Película: Se pasa el ID de la película actual.
- Email del Usuario: Se pasa el email del usuario autenticado.
- Link de Reproducción (link): Se añade el link de reproducción de la película. Este campo es crucial, ya que el controlador lo utilizará para redirigir al usuario al reproductor inmediatamente después de guardar el registro en el historial [07:37].
- Botón de Envío: El botón de reproducción se convierte en el botón de tipo submit del formulario para que al hacer clic se active la inserción del historial y el envío de datos [08:38].
3. 🧠 Recepción de Datos en el Controlador [09:40]
Se implementa el método store en el HistorialController para recibir y verificar la información enviada.
- Verificación de Datos: Se utiliza el facade dd() o return response()->json() para confirmar que el controlador está recibiendo correctamente el id_pelicula, el email del usuario y el link de reproducción, asegurando que todos los datos necesarios para guardar el historial y redirigir al usuario están presentes [10:39].
Próximo paso: La siguiente lección se centrará en implementar la lógica de guardado en el HistorialController y en la redirección inmediata al reproductor de la película utilizando el link guardado [11:00].
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! ❤️