Использование Knp paginator на symfony 2.3 со странным контроллером

Я использую Knp paginator в проекте symfony 2.3, и этот проект для меня новый, поэтому контроллеры немного непривычны для использования.

Я пытаюсь установить его, но есть вещи, которые все еще блокируют его работу.

Я следую этому на самом деле< /а>

и вот мой код в моем контроллере

private function resultsAction(Request $request, User $user, $type, $archive)
{
     $em = $this->getDoctrine()->getManager();

     $results = $em->getRepository("randomRepo")->findByTypeAndPro($type, $user, $archive);

     /**
      * @var $paginator \Knp\Component\Pager\Paginator
      */
     $paginator = $this->get('knp_paginator');
     $results = $paginator->paginate(
         $results,
         $request->query->getInt('page',1),
         $request->query->getInt('limit',5)
     );


     return array("results" => $results, "archive" => $archive);
}

public function offerAction(User $user, $archive = false)
{
     return $this->resultsAction($user, Operation::OFFER, $archive);
}

Мое пространство имен и класс с использованием:

namespace ST\BackofficeBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use ST\UserBundle\Entity\Operation;
use ST\UserBundle\Entity\User;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;

И поэтому, когда я пытаюсь загрузить свою страницу, я получаю эту ошибку:

введите здесь описание изображения


person chicken burger    schedule 12.09.2017    source источник
comment
Можете ли вы показать свое пространство имен и классы, используя?   -  person Imanali Mamadiev    schedule 12.09.2017
comment
Привет @ImanaliMamadiev, я обновил пост с пространством имен и классами.   -  person chicken burger    schedule 12.09.2017


Ответы (2)


Вы забыли добавить аргумент Request в вызов ResultsAction.

Объявление содержит 4 аргумента:

resultsAction(Request $request, User $user, $type, $archive)

Вызов содержит 3:

public function offerAction(User $user, $archive = false)
{
    return $this->resultsAction($user, Operation::OFFER, $archive);
}
person svgrafov    schedule 12.09.2017

Вы должны передать класс запроса при вызове действия:

public function offerAction(Request $request, User $user, $archive = false)
{
    return $this->resultsAction($request, $user, Operation::OFFER, $archive);
}
person Imanali Mamadiev    schedule 12.09.2017
comment
спасибо за ответ, но svgrafov я принял один. но спасибо за помощь - person chicken burger; 12.09.2017