Erro quando ativa os Joins
Não sei o que aconteceu, mas se eu ativo os Joins no repository de produtos, ele ao invés de retornar os produtos, retorna apenas uma categoria e modifica o nome. Tentei entender o que está acontecendo sem sucesso.
Pode ver se acha algum erro?
https://github.com/jo316dev/larafood
Adicionei o seu email para conseguir ver o projeto.
Olá, Richards!
Tudo bem?
Qual repositório exatamente está o erro?
Me diz qual a query mesmo, porque fica mais fácil para mim analisar e te dar um feedback.
No aguardo.
Opa, esta no ProductRepository:
Do jeito que está ai, ele retorna só um registro dos produtos, se remover o os joins, retorna todos os produtos
A lógica que usou para amarrar as tabelas nos joins ficou errada, por isso retorna apenas um registro.
Você quer retornar as categorias dos produtos também?
Fica mais fácil fazer essa query com o Eloquent:
Product::with('categories')
// ->where('products.tenant_id', $id) nem precisa desse where
// ->where('categories.tenant_id', $id) nem deste
->where(function ($query) use ($categories) {
if ($categories != [])
$query->whereIn('categories.url', $categories);
})
->get();
Entendi, mas no curso está com DB ao invés do Eloquent e cheguei até copiar do repositório do curso.
Vou mudar a lógica para o Eloquent.
Tentei mudar do jeito que está na resposta mas ele reclama do ManagerTenant.
Eu também fiquei um pouco confuso nesse retorno. Se eu não coloco categoria alguma não deveria retornar todos os produtos?
Qual foi o erro que gerou do ManagerTenant?
Print: https://uploaddeimagens.com.br/
----
Comparei a sua query com a minha, e está quase igual, porém os seus filtros foram por colunas diferentes, como neste caso: https://github.com/especializati/larafood/blob/master/app/Repositories/ProductRepository.php#L26
Os valores que você está enviando para a API, são compatíveis com as colunas que usou como critério de pesquisa?
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!