nicoorfi
7/18/2019 - 11:55 AM

Doctrine pagination

        $pageSize = 100;
        $currentPage = 1;
        $items = 0;

        $dql = 'SELECT d FROM Shopware\Models\Article\Detail d';
        $query = $models->createQuery($dql)
            ->setFirstResult(0)
            ->setMaxResults($pageSize);
        $paginator  = new Paginator($query);

        $totalItems = count($paginator);
        $pagesCount = (int) ceil($totalItems / $pageSize);

        while ($currentPage !== $pagesCount + 1) {

            $paginator->getQuery()
                ->setFirstResult($pageSize * ($currentPage - 1))
                ->setMaxResults($pageSize);

            foreach ($paginator as $pageItem) {
                dump($pageItem->getId());
            }

            $pagesCount;
            dump($currentPage);
            dump($pagesCount);
            $currentPage++;
        }
        die();