Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

165
Visualizações
Laravel9 - selectRaw suma duplicando el error de resultado

Tengo 5 mesas a las que quiero unirme

 Invoices Coletes Clients TagaCars Incasaris id 1 1 1 1 1 2 3

Mi consulta es: sumando todos los coletes secundarios suma donde coletes.invoice_id = facturas.id seleccionando el nombre del cliente seleccionando el modelo tagacars PERO se supone que suma todos los incasaris (que es básicamente el cobro de una factura), pero cuando hago la suma en consulta se está duplicando la suma sin motivo

Esta es mi consulta:

 $invoices = Invoice::join('clients','clients.id','=','invoices.client_id') ->join('taga_cars','taga_cars.id','=','invoices.car_id') ->leftJoin('coletes','coletes.invoice_id','=','invoices.id') ->leftjoin('incasaris','invoices.id','=','i_plati_id') ->selectRaw(' sum(coletes.totaleuro) as total, sum(coletes.totaleuro * invoices.i_rate) as totalabsolut, sum(incasaris.i_totallei) as totalincasat, clients.name, invoices.*, taga_cars.model') ->groupBy('invoices.id') ->orderBy('invoices.id') ->get();

El problema es solo con "totalincasat"

Aquí puedes ver en mi sql la cantidad de i_totallei para una de mis facturas

y aquí está mi DD que muestra la cantidad duplicada sin motivo

Quiero mencionar que por el momento cada factura tiene solo un incasaris perteneciente a cada una, y además, todos los incasaris sumados combinados no serían sumados como 2000, simplemente es duplicar el resultado ¿Alguien tiene alguna sugerencia? Es la primera vez que llego a este "error" y parece que no entiendo cómo solucionarlo.

about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

Verifique la unión izquierda de invices con incasaris , falta incasaris.i_plati_id en la línea mencionada a continuación:

 ->leftjoin('incasaris','invoices.id','=','i_plati_id')

En lugar de arriba, debe ser como

 ->leftjoin('incasaris','invoices.id','=','incasaris.i_plati_id')
about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda