2016-08-03 3 views
0

사용자 지정 필터로 쿼리를 수행 한 다음 결과에 페이지 매김을 수행하려고합니다. 내가 가면laravel 페이지 매김을 사용할 때 URL에 필터 보관

public function index(Request $a) 
{ 


    $queryJobCards = JobCardHead::query(); 

    //Add sorting 

    $queryJobCards->orderBy('DateReqLatest','desc'); 

    //Add Conditions 

    if($a->has('CusJobNum')) { 
     $CusJobNum = $a -> get('CusJobNum'); 
     $queryJobCards->where('CusJobNum','=',$CusJobNum); 
    } 

    if($a->has('Status')) { 
     $Status = $a->get('Status'); 
     $queryJobCards->where('Status','=',$Status); 
    } 

    // get data and Paginate 

    $data = $queryJobCards->Paginate(20); 

    return view('JobsByDate.JobsByDate', compact('data')); 

} 

에/JobsByDate CusJobNum 다음 = 3224 I 필터링 된 결과를 얻을 수 있지만, 나는 다음 페이지로 이동하려고 할 때 필터를 잃고 : 내 컨트롤러에서

나는이? url은/JobsByDate? page = 2가됩니다.

어떻게 해결할 수 있습니까?

답변

2

페이지 매김 링크를 삽입하는 동안 append 메서드를 사용해야합니다. 귀하의 의견에 따라

{{ $users->appends(['CusJobNum' => 3224])->links() }} 

업데이트 : 필터가 존재 때마다 당신은 당신의 Input 외관에 ARAY ['CusJobNum' => 3224 ]있을 것이다
. 링크를 생성하는 동안 추가 메소드의 인수에 Input::get('CusJobNum')을 삽입하면됩니다. 이 방법에서는 필터가있는 경우에만 추가됩니다.

{{ $users->appends(Input::get('CusJobNum'))->links() }} 
+0

필터를 지정하지 않으면 어떻게됩니까? –

+0

당신은 단순히'{{$ users-> links()}}' – jaysingkar

+0

당신의 view 코드를 게시 할 수 있습니까? – jaysingkar

관련 문제