vendor/easycorp/easyadmin-bundle/src/Factory/PaginatorFactory.php line 23

Open in your IDE?
  1. <?php
  2. namespace EasyCorp\Bundle\EasyAdminBundle\Factory;
  3. use Doctrine\ORM\QueryBuilder;
  4. use EasyCorp\Bundle\EasyAdminBundle\Orm\EntityPaginator;
  5. use EasyCorp\Bundle\EasyAdminBundle\Provider\AdminContextProvider;
  6. /**
  7.  * @author Javier Eguiluz <javier.eguiluz@gmail.com>
  8.  */
  9. final class PaginatorFactory
  10. {
  11.     private $adminContextProvider;
  12.     private $entityPaginator;
  13.     public function __construct(AdminContextProvider $adminContextProviderEntityPaginator $entityPaginator)
  14.     {
  15.         $this->adminContextProvider $adminContextProvider;
  16.         $this->entityPaginator $entityPaginator;
  17.     }
  18.     public function create(QueryBuilder $queryBuilder): EntityPaginator
  19.     {
  20.         $adminContext $this->adminContextProvider->getContext();
  21.         $paginatorDto $adminContext->getCrud()->getPaginator();
  22.         $paginatorDto->setPageNumber($adminContext->getRequest()->query->get('page'1));
  23.         return $this->entityPaginator->paginate($paginatorDto$queryBuilder);
  24.     }
  25. }