Fiz uma query para buscar um produto, seus modelos e o nome do cliente pelo id do produto, porém não ficou muito elegante e o nome do produto e descrição ficaram repetindo algumas vezes, gostaria de saber se há uma forma mais legível de obter o retorno dessa consulta, pois estão sendo retornados 4 itens, na verdade eu gostaria de retornar apenas 1 objeto produto com nome, descricao, nomeFantasia do cliente e um array de modelos de produto.
eu consegui fazer essa separação utilizando 2 querys, porém gostaria de saber se é possível com apenas 1.
Agradeço muito se puderem ajudar!
function getProduto($id) {
$con = conectarPDO();
$query = $con->prepare("SELECT p.nome, p.descricao, m.nome as m_nome, m.descricao as m_descricao, m.imagem, m.preco, c.nomeFantasia FROM produto p INNER JOIN modelo_produto m ON p.produto_id = m.produto_FK INNER JOIN cliente c ON c.cliente_id = p.cliente_FK WHERE p.produto_id = $id AND p.status = 1 AND m.status = 1 AND c.status = 'ativado'");
$query->execute();
$resultado = $query->fetchAll(PDO::FETCH_OBJ);
return $resultado;
}
o retorno é o seguinte:
nome | descricao | m_nome | m_descricao | imagem | preco | nomeFantasia
Esfiha de Carne | Deliciosa carne bovina | carne unidade | carne, tomate e cebola | carne.jpg | 2.00 | Esfiha do Mestre
Esfiha de Carne | Deliciosa carne bovina | carne com catupiry | carne, tomate e cebola e catupiry | carne-cat.jpg | 2.50 | Esfiha do Mestre
Esfiha de Carne | Deliciosa carne bovina | carne com cheddar | carne, tomate e cebola e cheddar | carne-che.jpg | 2.50 | Esfiha do Mestre
Esfiha de Carne | Deliciosa carne bovina | carne caixa com 10un | carne, tomate e cebola caixa com 10 unidades | carne10.jpg | 18.00 | Esfiha do Mestre