<?php

declare(strict_types=1);

namespace App\Models;

class PurchasePayment extends BaseModel
{
    protected string $table = 'pagos_compra';

    public function recentWithPurchase(int $companyId, int $limit = 50): array
    {
        $sql = 'SELECT pp.id, pp.compra_id, pp.monto, pp.fecha_pago, pp.metodo_pago, pp.referencia,
                       p.total AS compra_total, s.nombre AS proveedor
                FROM pagos_compra pp
                INNER JOIN compras p ON p.id = pp.compra_id
                INNER JOIN proveedores s ON s.id = p.proveedor_id
                WHERE pp.empresa_id = :empresa_id
                ORDER BY pp.id DESC
                LIMIT :limit';

        $stmt = $this->db()->prepare($sql);
        $stmt->bindValue(':empresa_id', $companyId, \PDO::PARAM_INT);
        $stmt->bindValue(':limit', $limit, \PDO::PARAM_INT);
        $stmt->execute();
        return $stmt->fetchAll() ?: [];
    }
}

