2017-02-13 87 views
1

我目前正在编写我的laravel项目,我有一个 问题与我的看法有两个不同的分页。在第一个分页中, 当我尝试点击(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

ŧ他是我得到“Class”Paginator“找不到”的错误。为什么要寻找paginator类? – Gatzmar

+0

我想你需要从外部导入它: 使用Illuminate \ Pagination \ Paginator 有关API的更多信息:https://laravel.com/api/5.4/Illuminate/Pagination/Paginator.html –

+0

但是使用laravel 5.0先生不laravel 5.4 – Gatzmar