Использование 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;

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

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

0

Решение

Вы забыли добавить аргумент 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);
}
1

Другие решения

Вы должны передать класс Request, когда вызываете action:

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

По вопросам рекламы [email protected]