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

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

Aceitar