FOSRestBundle и Пагерфанта - PullRequest
       23

FOSRestBundle и Пагерфанта

0 голосов
/ 06 ноября 2018

Я пытаюсь разбить результат на страницы с помощью Pagerfanta

Мой контроллер:

    /**
     * @Rest\Get(
     *     path="/users",
     *     name="get_users",
     * )
     *
     * @return View
     */
    public function users()
    {
        $pagers = $this->getDoctrine()->getManager()->getRepository(User::class)
            ->findAllWithPagination(10, 1);

        return $this->view($pagers->getCurrentPageResults(), Response::HTTP_OK);
    }

Мой репозиторий пользователей:

/**
 * @param int $limit
 * @param int $offset
 * @return Pagerfanta
 */
public function findAllWithPagination(int $limit = 10, int $offset = 1): Pagerfanta
{
    $qb = $this->createQueryBuilder('u')
        ->select('u')
    ;

    return $this->paginate($qb, $limit, $offset);
}

/**
 * @param QueryBuilder $qb
 * @param int $limit
 * @param int $offset
 * @return Pagerfanta
 */
protected function paginate(QueryBuilder $qb, int $limit = 10, int $offset = 1): Pagerfanta
{
    if (0 == $limit || 0 == $offset) {
        throw new \LogicException('$limit & $offset must be greater than 0.');
    }

    $pager = new Pagerfanta(new DoctrineORMAdapter($qb));
    $currentPage = ceil($offset + 1) / $limit;
    $pager->setCurrentPage($currentPage);
    $pager->setMaxPerPage($limit);

    return $pager;
}

Я не понимаю, почему у меня 404 ответ, когда я пытаюсь получить доступ к этому ресурсу. Что я сделал не так?

"message": "Страница не найдена", "class": "Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException", "файл": «/var/www/html/model-backend/vendor/white-october/pagerfanta-bundle/EventListener/ConvertNotValidCurrentPageToNotFoundListener.php",

...