2017-02-13 12 views
1

現在、私のlaravelプロジェクトをコーディングしています.2つの異なるページ設定で私のビューに 問題があります。最初のページングでは、 次のページ)、2番目のページ番号は の行のレンダリングで異なる変数を持っていても影響を受けます。なぜそれが なのか分かりますか?1つのビューで2つのページネーションをレンダリングする方法

私のコントローラ

public function viewlist($ship_id){ 
    $members = Member::where('ship_id','=',$ship_id)->paginate(3); 
    $member = Member::where('ship_id','=',$ship_id)->get(); 
    $member_ids = []; 
    foreach ($member as $mem) { 
     array_push($member_ids, $mem->scholar_id); 
    } 
    $pendings = AddRequest::where('ship_id','=',$ship_id)->paginate(3); 
    $pending = AddRequest::where('ship_id','=',$ship_id)->get(); 
    $pending_ids = []; 
    foreach ($pending as $pend) { 
     array_push($pending_ids, $pend->scholar_id); 
    } 

    $recommends = Recommend::where('ship_id', '=',$ship_id)->get(); 

    return view('pages.Organization.List-Of-Organization-Scholar',compact('ship','schol','pendings','members','count_member','recommends')) 
;} 

マイビュー

@foreach($members as $member) 
    <div class="col-lg-4"> 
     <div class="col-lg-12 well"> 
      <a class="thumbnail" href="#"> 
       <img class="img-responsive" src="../{!! $member->Memscholar->scholar_image !!}" alt="" height="150" width="200"> 
      </a> 
     </div> 
    </div> 
    @endforeach 
    <div class = "col-md-12"> 
     {!! $members->render() !!} 
    </div> 

@foreach($pendings as $pending) 
<div class="col-lg-4"> 
    <div class="col-lg-12 well"> 
     <a class="thumbnail" href="#"> 
      <img class="img-responsive" src="../../{!! $pending->Pendscholar->scholar_image !!}" alt="" height="150" width="200"> 
     </a> 
    </div> 
</div> 
@endforeach 
<div class = "col-md-12"> 
    {!! $pendings->render() !!} 
</div> 

答えて

0

//コントローラ

//あなたはページネータを作る前に、ページ名を変更します。

Paginator::setPageName('page_a'); 
$collection_A = ModelA::paginate(10); 

Paginator::setPageName('page_b'); 
$collection_B = ModelB::paginate(10); 

//表示

//は、同じ操作を行います。リンク

Paginator::setPageName('page_a'); 
$collection_A->links(); 

Paginator::setPageName('page_b'); 
$collection_B->links(); 

を印刷する前に、あなたが別のページに移動しながら、任意のページの状態を失いたくない場合は、リンクに追加する//ページ名を変更しますすべてのコレクションから現在のページ:

Paginator::setPageName('page_a'); 
$collection_A->appends('page_b', Input::get('page_b',1))->links(); 

Paginator::setPageName('page_b'); 
$collection_B->appends('page_a', Input::get('page_a',1))->links(); 

出典:

http://laravel-tricks.com/tricks/multiple-pagination-with-laravel-2-pagination-in-1-page

+0

T彼は私が "Class 'Paginator' not found"を持っているエラーです。なぜそれはページネータークラスを探しているのですか? – Gatzmar

+0

Illuminate \ Pagination \ Paginatorを使用する APIの詳細については、https://laravel.com/api/5.4/Illuminate/Pagination/Paginator.html –

+0

をご覧ください。しかし、imはlaravel 5.0を使用していますラーベールではありません5.4 – Gatzmar

関連する問題