Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Uma duvida na busca do produto

não daria para fazer um INNER JOIN para trazer os itens sem precisar fazer outro find por id ?

1 resposta
solução!

Oi Flávio, tudo bem?

Entendo que você esteja se perguntando se poderíamos usar um INNER JOIN para trazer os itens sem precisar fazer outro find por id. A resposta é sim, geralmente é possível, e pode ser uma maneira eficaz de otimizar as consultas ao banco de dados.

No entanto, no código que estamos trabalhando, optamos por uma abordagem diferente. Primeiro, estamos mapeando todos os produtoId dos itens do pedido para uma lista produtosIds. Em seguida, estamos usando a função findBy do TypeORM, que recebe um objeto com as condições da consulta, para buscar todos os produtos que têm um id na lista produtosIds. Isso é feito através do operador In, que verifica se o id do produto está na lista produtosIds.

Depois, para cada item do pedido, estamos buscando o produto relacionado na lista de produtosRelacionados que acabamos de buscar. Isso é feito através da função find, que retorna o primeiro elemento que satisfaz a condição fornecida. Nesse caso, a condição é que o id do produto seja igual ao produtoId do item do pedido.

Essa abordagem tem a vantagem de que estamos fazendo apenas uma consulta ao banco de dados para buscar todos os produtos relacionados de uma vez, em vez de fazer uma consulta para cada item do pedido.

Um abraço e bons estudos.