Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Como retorna Json

Sei que não tem nada Haver com o curso mais poderia ajudar

o meu controle tem isso

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Zend\View\Model\JsonModel;

class EnderecoController extends AbstractActionController {

public function indexAction() {
    $em = $this->getServiceLocator()->get('Doctrine\ORM\EntityManager');
    $dao = $em->getRepository('Stj\Entity\OrmEndereco');
    $result = $dao->ListaAll();

    var_dump($result);

    return new JsonModel($result);
   
}

}

O meu repositorio tem isso

namespace Stj\DAO;

use Doctrine\ORM\EntityRepository;
use Stj\Entity\OrmEndereco;

class DaoEndereco extends EntityRepository {

public function ListaAll(){
   $em = $this->getEntityManager();
   $qb = $em->createQueryBuilder() ;
   $qb->select("e")
           ->from("Stj\Entity\OrmEndereco", "e")
           ->where("e.cep like :cep ")
           ->setParameter(":cep", "%66666666%");
  
   $query = $qb->getQuery()->getArrayResult();
return $query;
   
}

}

o resultado com o var_dump e isso

array(1) { [0]=> array(6) { ["id"]=> int(300) ["cep"]=> string(8) "66666-666" ["logradouro"]=> string(21) "Rua desconhecido " ["bairro"]=> string(17) "Jardim desconhecido" ["cidade"]=> string(7) "Itapevi" ["uf"]=> string(2) "SP" } }

mais o retorno do JsonModel e vazio,
poderia explicar por que não é convertido para json

1 resposta
solução!

galera não sei se vcs acharam a resposta, mas o problema estava na conexão com o banco que não estava sendo feito no padrão utf8

o codigo acima esta correto, eu so modifique o arquivo de conexão doctrine.local.php

return array( 'doctrine' => array( 'connection' => array( 'orm_default' => array( 'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver', 'params' => array( 'host' => 'localhost', 'port' => '3306', 'user' => 'root', 'password' => '', 'dbname' => 'stj', 'charset' => 'utf8', 'driverOptions' => array( 1002 => 'SET NAMES utf8' ) ) ) ) ) );