Laravel框架——分页

第一种:查询时实现分页(不能使用groupBy)

$users = App\User::paginate(15);
or
$users = User::where('votes', '>', 100)->paginate(15);
//如果你只需要在分页视图中简单的显示“下一个”和“上一个”链接,可以使用simplePaginate方法来执行该查询
User::simplePaginate(15);

 

第二种:手动创建分页器 

  有时候你可能想要通过传递数组数据来手动创建分页实例,你可以基于自己的需求通过创建Illuminate\Pagination\PaginatorIlluminate\Pagination\LengthAwarePaginator实例来实现。Paginator类不需要知道结果集中数据项的总数;然而,正因如此,该类也没有提供获取最后一页索引的方法。LengthAwarePaginator接收参数和Paginator几乎一样,只是,它要求传入结果集的总数。换句话说,Paginator 对应simplePaginate方法,而LengthAwarePaginator对应paginate方法。当手动创建分页器实例的时候,应该手动对传递到分页器的结果集进行“切片”。

 

在视图中显示分页结果

  @foreach ($users as $user)
        {{ $user->name }}
    @endforeach
  {!! $users->links() !!}

更多函数
  • $results->count()
  • $results->currentPage()
  • $results->firstItem()
  • $results->hasMorePages()
  • $results->lastItem()
  • $results->lastPage() (使用simplePaginate时无效)
  • $results->nextPageUrl()
  • $results->perPage()
  • $results->previousPageUrl()
  • $results->total() (使用simplePaginate时无效)
  • $results->url($page)
 
posted @ 2016-12-17 14:24  偏执Dog  阅读(5216)  评论(0编辑  收藏  举报