42 Módulo de Préstamos en Laravel 12: Arquitectura, Migraciones y Relaciones entre Modelos 💰🏗️

Duración: 15 min
Módulo: Módulo Prestamos y Pagos Lección 1 de 18

Descripción

💰 Lección 42: Módulo de Préstamos: Arquitectura, Migraciones y Relaciones

En esta sesión de Benji V2, iniciamos el desarrollo del módulo más crítico y complejo del sistema: el Módulo de Préstamos. En esta lección, definimos la estructura de datos necesaria para soportar diferentes tipos de créditos, modalidades de pago y cálculos financieros que se verán en los próximos videos.

🏗️ Diseño de la Base de Datos (DBML)

Definimos una arquitectura robusta para manejar la lógica financiera:

  • 🔗 Relaciones Clave: La tabla prestamos nace vinculada a dos tablas maestras: clientes (quién recibe el dinero) y categorias (qué tipo de préstamo es, ej. personal o comercial) [06:23].
  • 📊 Campos Financieros:
    • Monto Prestado: El capital inicial otorgado.
    • Tasa de Interés: El porcentaje pactado para el crédito.
    • Modalidad de Pago: Definimos frecuencias como diario, semanal, quincenal o mensual [07:54].
    • Número de Cuotas: Reemplazamos el concepto de "meses" por "cuotas" para dar flexibilidad a préstamos de cualquier duración [08:55].
    • Montos Calculados: Añadimos campos para el interés total y el monto total a pagar, facilitando reportes rápidos sin cálculos pesados en tiempo real [09:52].

🛡️ Migraciones y Tipos de Datos

Traducimos el diseño lógico a código Laravel:

  • 🛠️ Tipos de Datos Precisos: Utilizamos decimal para todos los montos de dinero para evitar errores de redondeo comunes en el tipo float. Para el estado del préstamo, implementamos un tipo enum con los valores: Pendiente, Pagado y Cancelado [13:29].
  • 🔗 Integridad Referencial: Configuramos llaves foráneas con onDelete('cascade'). Esto asegura que si, por alguna razón técnica, se borrara una categoría o cliente (en entornos de prueba), los registros huérfanos se limpien automáticamente [12:35].

🛠️ Preparación del Entorno

Ejecutamos los comandos necesarios para dejar el sistema listo:

  • 🚀 Generación de Archivos: Creamos el modelo Prestamo, su migración y el controlador con recursos (-mcr) [11:19].
  • 👁️ Verificación Visual: Tras ejecutar php artisan migrate, validamos en el diseñador de la base de datos que las relaciones se hayan creado correctamente, conectando prestamos con sus respectivas tablas de origen [14:32].

Resultado de la Lección

Al finalizar, habrás establecido los cimientos del motor financiero del sistema. Ya contamos con la estructura necesaria para registrar operaciones crediticias complejas. En las siguientes lecciones, nos enfocaremos en las fórmulas de amortización (Método Francés, Alemán, etc.) y la interfaz de registro.