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

125
Visualizações
Laravel9: sumar filas secundarias para padres según ID

Tengo 2 tablas: facturas y coletes. Cuando creo la página de vista para la factura, quiero que todos los coletes estén numerados allí y su totaleuro sumado

básicamente debería verse algo como esto:

 invoiceID coleteID TotalEuro(Of Colete) 1 1 100 2 200 3 400 Total 700 2 4 200 5 300 6 500 Total 1000

Mi consulta se ve así

 $sum = DB::table('coletes') ->join('invoices','coletes.invoice_id','=','invoices.id') ->select(DB::raw(' SUM(coletes.totaleuro) as totaleuro', )) ->get();

Pero en lugar de devolver factura1 total: 700 factura2 total: 1000

Acabo de obtener total: 1700

¿Alguien tiene alguna idea de cómo resolver esta consulta?

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

0

En tu consulta estas considerando que todos los coletes pertenecen a una sola factura. necesita usar group by para obtener el total del nivel de factura

 $sum = DB::table('coletes') ->join('invoices','coletes.invoice_id','=','invoices.id') ->select(DB::raw(' SUM(coletes.totaleuro) as totaleuro', ))->groupBy('coletes.invoice_id') ->get();

por lo que devolverá dos filas según su ejemplo

Consulta MySQL para su ejemplo

 CREATE TABLE coletes ( id INTEGER PRIMARY KEY, invoice_number INTEGER NOT NULL, product_id INTEGER not NULL, amount INTEGER not null ); -- insert INSERT INTO coletes VALUES (0001, 1,1, 100); INSERT INTO coletes VALUES (0002, 1,2, 200); INSERT INTO coletes VALUES (0003, 1,3, 400); INSERT INTO coletes VALUES (0004, 2,4, 200); INSERT INTO coletes VALUES (0005, 2,5, 300); INSERT INTO coletes VALUES (0006, 2,6, 500); -- fetch SELECT invoice_number, sum(amount) FROM coletes group by invoice_number; Output: invoice_number sum(amount) 1 700 2 1000
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