39 📦 MÓDULO ÓRDENES: Estructura de BD, Modelos y Relación de Detalles (Order Items) | Laravel 12
Duración: 31 min
Módulo: 💳 Carrito, Checkout y Pasarela de Pagos 34-42
Lección 6 de
9
Descripción
Lección 39: 📦 Módulo Órdenes: Estructura de BD, Modelos y Relación de Detalles (Order Items) | Laravel 12
Este capítulo se dedica a la creación de la infraestructura de base de datos y modelos para gestionar los pedidos generados tras un pago exitoso, separando la información de la orden principal de sus productos detallados.
🧱 Diseño del Modelo Entidad-Relación
Se definen dos nuevas tablas para el seguimiento completo de cada venta [01:47]:
- Tabla órdenes (Orders) 🧾: Almacena los datos principales de la compra.
- usuario_ID: Quién realizó la orden [02:13].
- total y divisa: Monto final y moneda utilizada [02:25].
- estado_del_pago: (Pendiente, Completado, Rebotado) [02:52].
- estado_de_la_orden: (Procesando, Enviado, Finalizado) - gestionado por el administrador [03:01].
- transacción_ID: El identificador de pago de PayPal [03:39].
- dirección_envío: Dónde se entregará el pedido [03:50].
- Tabla detalle_órdenes (Order Items) 🛍️: Almacena los productos de esa orden específica.
⚙️ Creación de Migraciones y Modelos
Se generan y ejecutan las migraciones para crear las nuevas tablas, y se definen las relaciones entre los modelos:
- Creación de Archivos: Se usa php artisan make:model Orden -mcr y DetalleOrden para generar modelos, migraciones y controladores [06:53].
- Ejecución de Migraciones: Se usa php artisan migrate para crear las tablas órdenes y detalle_órdenes [10:27].
- Definición de Relaciones 🔗:
📝 Preparación de la Lógica de Checkout
Se ajusta la lógica del controlador para recopilar toda la información necesaria antes de guardar la orden:
- Captura de Dirección de Envío: Se añade un campo de texto en la vista del carrito (checkout) para que el usuario ingrese su dirección_envío [24:19].
- Validación: Se valida que la dirección y el total sean campos requeridos [27:35].
- Uso de Sesiones Temporales 📤: Dado que el proceso de pago con PayPal implica una redirección, la dirección de envío capturada se guarda en una variable de sesión temporal (request()->session()->put()) en la función pago, y luego se recupera en la función gracias para ser utilizada en el registro de la orden [27:55].
- Datos Finales Recopilados: Al finalizar la lección, el sistema ya tiene en la función gracias todos los datos esenciales para registrar el pedido:
- usuario_ID, total, divisa, transacción_ID, estado_del_pago (Complete), estado_de_la_orden (Procesando) y dirección_envío [29:46].
Lecciones
🚀 Configuración Inicial y Sistema de Administración 1-6
🛡️ Roles, Permisos y Gestión de Usuarios (Spatie) 7-16
Lección 4. 10 ⚙️ CRUD Completo de Roles | Spatie Roles & Permisos | Ecommerce Laravel 12 FullStack
25 min
Lección 6. 12 🔐 Ajustes en el Login y Seeder de Usuarios | Sistema Ecommerce Laravel 12 FullStack
40 min
Lección 8. 14 🔍 Buscador y Detalle de Usuarios (Acción Show) | Ecommerce Laravel 12 FullStack
32 min
📦 Módulos Esenciales (Categorías y Productos) 17-24
🛒 Tienda Online (Frontend Shop) y Funcionalidades 25-33
Lección 4. 28 🛒 Vista Show Dinámica del Producto | Descripción y Datos Relacionados | Laravel 12
15 min
💳 Carrito, Checkout y Pasarela de Pagos 34-42
Lección 4. 37 💳 PASARELA DE PAGOS PayPal | Integración y Lógica de Checkout en Laravel 12 E-commerce
27 min
Lección 5. 38 ✅ PAGO COMPLETADO y REGISTRO de Pedido | Lógica Final de Venta con PayPal y Laravel 12
11 min
⚙️ Gestión de Órdenes, Perfiles y Características Avanzadas 43-61
Lección 5. 47 🔗 BUSCADOR AVANZADO: Filtrando Tablas Relacionadas con WHERE HAS y Joins en Laravel 12
10 min
📊 Análisis de Datos, Despliegue y Conclusión 62-68
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️