> For the complete documentation index, see [llms.txt](https://tony915.gitbook.io/laravel-4-2/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tony915.gitbook.io/laravel-4-2/learning_more/pagination.md).

# 分頁

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

## 設定分頁

在迷你部落格範例中，HomeController\@index 裡會取得全部文章：

```
$posts = Post::all();
```

假如我們想要一頁只顯示 3 筆，可以改成：

```
$posts = Post::paginate(3);
```

完成。如果有使用 where 條件的話，paginate() 方法就加在最後面，例如：

```
$posts = Post::where('words', '>', 100)->paginate(3);
```

如果只想顯示上下頁而不要顯示頁數：

```
$posts = Post::simplePaginate(3);
```

## 顯示分頁

在做了以上的指定後，前端的頁面會自動以 3 筆為一頁的方式顯示，但這時我們並看不到頁數，或上下頁的連結。現在我們讓頁數顯示在文章清單下方，到 View 中加入：

1. &#x20;@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
