Inner join ou buscar cada registro em cada tabela?
Bom dia.
Já tem um tempo que eu estou estudando mvc, mas principalmente estou tentando trabalhar com POO.
Só que as vezes eu fico na dúvida de como trazer os registros do banco de dados.
Geralmente quando eu tenho que fazer uma listagem de um produto e este produto tem uma categoria eu poderia fazer na classe ProdutoDAO:
function get_produtos()
{
$sql = 'SELECT produtos.*, produtos_categorias.nome as categoria FROM produtos LEFT JOIN produtos_categorias ON produtos.id_categoria = produtos_categorias';
....
}
O problema que eu trabalho com classes e a classe produto não tem o campo "categoria" que é o nome da categoria.
E na minha cabeça a classe ProdutoDAO só retorna produtos e a classe ProdutoCategoriaDao só retorna categorias de produtos.
Então se eu tivesse que listar os produtos primeiro eu pegaria todos os produtos e após para cada produto eu pegaria cada categoria.
O problema que pra fazer uma listagem desse jeito terei que fazer muitos acessos ao banco de dados, para cada produto uma busca para o nome da categoria.
Gostaria de saber qual é o melhor jeito de fazer isso, se vocês também tem essa dúvida
Abraços
Discussão (3)
Carregando comentários...