分頁
在 Laravel 中要實作分頁只要兩行!!

設定分頁

在迷你部落格範例中,[email protected] 裡會取得全部文章:
$posts = Post::all();
假如我們想要一頁只顯示 3 筆,可以改成:
$posts = Post::paginate(3);
完成。如果有使用 where 條件的話,paginate() 方法就加在最後面,例如:
$posts = Post::where('words', '>', 100)->paginate(3);
如果只想顯示上下頁而不要顯示頁數:
$posts = Post::simplePaginate(3);

顯示分頁

在做了以上的指定後,前端的頁面會自動以 3 筆為一頁的方式顯示,但這時我們並看不到頁數,或上下頁的連結。現在我們讓頁數顯示在文章清單下方,到 View 中加入:
  1. 1.
    @foreach ($posts as $post) //略... @endforeach
{{ $posts->links() }}
$posts->links() 這行會顯示分頁連結,而且都自動幫你計算好頁數了,只是樣式可能有點簡陋。

預設分頁型式

如果你要讓整個網站使用預設的分頁顯示方式(頁數、上下頁),可以在 app/config/view.php 裡面修改 pagination 的型式,使用頁數:
pagination::slider
使用上、下頁:
pagination::simple

自訂分頁頁面

你可以設計一個 View 來顯示分頁,假設是 app/views/site/pagination.blade.php,然後就能使用它:
{{ $posts->links('site.pagination') }}
有些額外的分頁資料可以使用:
  • getCurrentPage
  • getLastPage
  • getPerPage
  • getTotal
  • getFrom
  • getTo
  • count