使用

2018-02-24 15:52 更新

有幾種方法來分頁對象。最簡單的是在搜索構(gòu)建器使用 paginate 方法或 Eloquent 模型。

對數(shù)據(jù)庫結(jié)果分頁

$users = DB::table('users')->paginate(15);

注意: 目前 Laravel 使用 groupBy 來做分頁操作無法有效率的執(zhí)行,如果您需要使用 groupBy 來分頁數(shù)據(jù)集,建議您手動查找數(shù)據(jù)庫,并使用 Paginator::make。

對 Eloquent 模型分頁

您也可以對 Eloquent 模型分頁:

$allUsers = User::paginate(15);

$someUsers = User::where('votes', '>', 100)->paginate(15);

發(fā)送給 paginate 方法的參數(shù)是您希望每頁要顯示的對象選項數(shù)目,只要您取得查找結(jié)果后,您可以在視圖中顯示,并使用 render 方法去建立分頁鏈接:

<div class="container">
    <?php foreach ($users as $user): ?>
        <?php echo $user->name; ?>
    <?php endforeach; ?>
</div>

<?php echo $users->render(); ?>

這就是所有建立分頁系統(tǒng)的步驟了!您會注意到我們還沒有告知 Laravel 我們目前的頁面是哪一頁,這個信息 Laravel 會自動幫您做好。

您也可以透過以下方法獲得額外的分頁信息:
currentPage
lastPage
perPage
hasMorePages
url
nextPageUrl
total
count

「簡單分頁」

如果您只是要在您的分頁視圖顯示「上一頁」和「下一頁」鏈接,您有個選項 simplePaginate 方法來執(zhí)行更高效率的搜索。當您不需要精準的顯示頁碼在視圖上時,這個方法在較大的數(shù)據(jù)集非常有用:

$someUsers = User::where('votes', '>', 100)->simplePaginate(15);

手動建立分頁

有的時候您可能會想要從數(shù)組中對象手動建立分頁實體, 您可以根據(jù)您的需要通過 Illuminate\Pagination\Paginator 或 Illuminate\Pagination\LengthAwarePaginator 實體來建立。

自定義分頁 URL

您還可以透過 setPath 方法自定義使用的 URL:

$users = User::paginate();

$users->setPath('custom/url');

上面的例子將建立 URL,類似以下內(nèi)容: http://example.com/custom/url?page=2

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號