我在symfony 2.3项目中使用Knp paginator,这个项目对我来说很新,所以控制器使用起来有点奇怪。
我试图安装它,但仍有一些东西阻止其正常运行。
这是我控制器中的代码
progressBar.bringToFront();
我的命名空间和类使用:
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);
}
所以当我尝试加载我的页面时,我收到了这个错误:
答案 0 :(得分:2)
调用action时必须传递Request类:
public function offerAction(Request $request, User $user, $archive = false)
{
return $this->resultsAction($request, $user, Operation::OFFER, $archive);
}
答案 1 :(得分:1)
您忘记将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);
}