[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Roberto Noya
Criador Roberto Noya 28/03/2020

Olá Carlos,

O projeto está sendo construído com Vuejs + Vuetify + Laravel 6.x

https://github.com/robertotnoya/financiamento

Existe a tabela chamada fichas (files) que podem possuir múltiplos compradores (buyers) e essas tabelas estão relacionadas pelo file.id. 

Eu criei um relatório que lista cada ficha com seus devidos compradores (buyers). Cada linha do relatório contém uma ficha e uso o recurso "->with" para exibir os compradores no relatórios

Veja em financiamento/app/Models/Admin/File.php (getResults)

Agora preciso filtrar as fichas pelo nome do comprador (buyers.nome).

Não sei exatamente como devo criar a query usando o eloquente.

Se eu usar o LEFT OUTER JOIN na query ele irá multiplicar o numero de registros no relatório de acordo com número de compradores o que não é interessante.

Como voce faria?

Manager Carlos Ferreira 28/03/2020

Olá, Roberto!
Tudo bem?

Uma das formas possíveis é usando join mesmo, porque assim você consegue amarrar todas as tabelas relacionadas e aplicar as querys necessárias.

Carlos Ferreira
Criador Roberto Noya 28/03/2020

O problema em usar joins é que o resultado sai multiplicado. 

Por exemplo: Uma ficha possui 2 compardores e no relatório de fichas ele exibe 2 registros o que não atende.

Roberto Noya
Manager Carlos Ferreira 28/03/2020

Olá, Roberto!

Certifique que amarrou corretamente todas as tabelas, para evitar valores duplicados.

Você também combinar com o distinct() para aplicar o distinct na query.

E se não conseguir, pode usar o helper unique(): https://laravel.com/docs/7.x/collections#method-unique

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!