Prezados,
Já vi e revi o código e não acho o erro. Poderiam me ajudar? Segue código.
Fatal error: Uncaught ArgumentCountError: Too few arguments to function Doctrine\ORM\EntityRepository::createQueryBuilder(), 0 passed in C:\sistemas\Estoque\Skeleton-Application\module\Estoque\src\Estoque\Entity\Repository\ProdutoRepository.php on line 12 and exactly 1 expected in C:\sistemas\Estoque\Skeleton-Application\vendor\doctrine\orm\lib\Doctrine\ORM\EntityRepository.php:81 Stack trace: #0 C:\sistemas\Estoque\Skeleton-Application\module\Estoque\src\Estoque\Entity\Repository\ProdutoRepository.php(12): Doctrine\ORM\EntityRepository->createQueryBuilder() #1 C:\sistemas\Estoque\Skeleton-Application\module\Estoque\src\Estoque\Controller\IndexController.php(24): Estoque\Entity\Repository\ProdutoRepository->getProdutosPaginados(1, 0) #2 C:\sistemas\Estoque\Skeleton-Application\vendor\zendframework\zendframework\library\Zend\Mvc\Controller\AbstractActionController.php(82): Estoque\Controller\IndexController->IndexAction() #3 [internal function]: Zend\Mvc\Controller\AbstractActionController->onDispatch(Object(Zend\Mvc\MvcEv in C:\sistemas\Estoque\Skeleton-Application\vendor\doctrine\orm\lib\Doctrine\ORM\EntityRepository.php on line 81
module.config.php
'produtos' => array ( 'type' => 'Segment', 'options' => array ( 'route' => '/Produtos[/:page]', 'constraints' => array ( 'page' => '[0-9]*', ), 'defaults' => array ( 'NAMESPACE' => 'Estoque\Controller', 'controller' => 'Index', 'action' => 'Index', 'page'=>1 ) ) ),
ProdutoRepository.php
<?php namespace Estoque\Entity\Repository;
use Doctrine\ORM\EntityRepository; use Doctrine\ORM\Tools\Pagination\Paginator;
class ProdutoRepository extends EntityRepository{
public function getProdutosPaginados($qtdPorPagina,$offset){
$em = $this->getEntityManager();
$qb = $this->createQueryBuilder(); ======> esta é a linha 12
$qb->select('p')
->from('Estoque\Entity\Produto', 'p')
->setMaxResults($qtdPorPagina)
->setFirstResult($offset)
->orderBy('p.id');
$query = $qb->getQuery();
$paginator = new Paginator($query);
return $paginator;
}
}
Produto.php
<?php namespace Estoque\Entity;
use Doctrine\ORM\Mapping as ORM;
/** @ORM\Entity(repositoryClass="\Estoque\Entity\Repository\ProdutoRepository") */
demais código omitido
IndexController.php
class IndexController extends AbstractActionController {
public function IndexAction(){
$pagina = 1;
$qtdPorPagina = 1;
$offset = ($pagina - 1) * $qtdPorPagina;
$entityManager = $this->getServiceLocator()->get("Doctrine\ORM\EntityManager");
$repositorio = $entityManager->getRepository('Estoque\Entity\Produto');
$produtos = $repositorio->getProdutosPaginados($qtdPorPagina,$offset);
$view_params = Array(
'produtos' => $produtos
);
return new ViewModel($view_params);
}
demais código omitido