Foreach com campos em branco utilizando PDO com SQL SERVER

28/07/2020

0

Pessoal estou com uma dificuldade em exibir os dados do banco em tela, alguns campos vem preenchidos e outros em branco.
Já revisei as entidades DAO o objeto e o select no banco hospedado na "Amazon", não esta hospedado localmente.

Esta é o meu ProdutoDAO
public  function listar()
    {
            $resultado = $this->select(
                ''SELECT ProdutoId, 
                              pr_Nome, 
                              pr_Custo,
                              pr_categoria,
                              pr_Venda, 
                              pr_Estoque,
                              pr_Markup,
                              pr_Promo,
                              pr_mkPromo,
                              CategoriaDesc
                              FROM Produtos
                      INNER JOIN Categorias ON pr_categoria = CategoriaId 
                      ''
            );
            $dataSetProdutos = $resultado->fetchAll();

            if($dataSetProdutos) {

                $listaProdutos = [];

                foreach($dataSetProdutos as $dataSetProduto) {
                    $Produto = new Produto();
                    $Produto->setId($dataSetProduto[''ProdutoId'']);
                    $Produto->setNome($dataSetProduto[''pr_Nome'']);
                    $Produto->setCusto($dataSetProduto[''pr_Custo'']);
                    $Produto->getCategoria()->setCategoriaDesc($dataSetProduto[''CategoriaDesc'']); 
                    $Produto->setVenda($dataSetProduto[''pr_Venda'']);
                    $Produto->setEstoque($dataSetProduto[''pr_Estoque'']);
                    $Produto->setMarkup($dataSetProduto[''pr_Markup'']);
                    $Produto->setPromo($dataSetProduto[''pr_Promo'']);
                    $Produto->setMkPromo($dataSetProduto[''pr_mkPromo'']);

                    $listaProdutos[] = $Produto;
                }

                return $listaProdutos;
            }

        return false;
    }	



Este é o Foreach
 <?php
                            foreach($viewVar[''listaProdutos''] as $produto) {
                        ?>
                            <tr>
                                <td><?php echo $produto->getId(); ?></td>
                                <td><?php echo $produto->getNome(); ?></td>
                                <td><?php echo $produto->getCategoria()->getCategoriaDesc(); ?></td>
                                <td>R$ <?php echo $produto->getVenda(); ?></td>
                                <td><?php echo $produto->getEstoque(); ?></td>
                                <td><?php echo $produto->getMkPromo(); ?></td> 
                                
                                <td>
                                    <a href="http://<?php echo APP_HOST; ?>/produto/edicao/<?php echo $produto->getId(); ?>" class="btn btn-info btn-sm">Editar</a>
                                    <a href="http://<?php echo APP_HOST; ?>/produto/exclusao/<?php echo $produto->getId(); ?>" class="btn btn-danger btn-sm">Excluir</a>
                                </td>
                            </tr>
                        <?php
                            }
                        ?>


Quando rodo o select no banco pelo SQL Management Studio, este select funciona perfeito, me retorna os nomes e a categoria com o JOIN.

Já no browser a tabela é preenchida normalmente sem erros e os campos "Nome do Produto" e "Nome da Categoria" vem em branco.

Se puderem me dar alguma dica agradeço.
Dovanir Junior

Dovanir Junior

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar