2017-09-12 2 views
0

symfony 2.3 프로젝트에서 Knp paginator를 사용하고있어이 프로젝트는 새로운 것이므로 컨트롤러가 사용하기에 조금 이상합니다.symfony 2.3에서 Knp paginator를 별난 컨트롤러와 함께 사용

저는 설치를 시도하고 있지만 아직 기능을 수행하지 못하는 것이 있습니다.

내가 여기이 tutorial actually

을 다음과하고있어 내 컨트롤러에 내 코드입니다

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; 

그리고 그렇게 내를로드 할 때 이 오류가 나타나는 페이지 :

enter image description here

+0

당신이 당신의 네임 스페이스를 보여줄 수 및 수업은? –

+0

안녕하세요 @ImanaliMamadiev 나는 네임 스페이스와 클래스로 게시물을 업데이트했습니다. –

답변

1

요청 인수를 ResultsAction 호출에 추가하는 것을 잊었습니다. 당신은 당신이 작업을 호출 할 때 요청 클래스를 통과해야

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

고맙습니다. :) –

2

:

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

전화가 3 포함

선언 4 개 인수를 포함

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

대답 주셔서 감사합니다,하지만 난 svgrafov 하나를 허용했다. 하지만 도움을 주셔서 감사합니다. –