laravel如何手動(dòng)實(shí)現(xiàn)分頁(yè)功能

小億
138
2024-02-20 09:51:36

在Laravel中,可以使用Paginator類手動(dòng)實(shí)現(xiàn)分頁(yè)功能。首先,需要通過Eloquent模型查詢數(shù)據(jù),然后使用Paginator類對(duì)查詢結(jié)果進(jìn)行分頁(yè)處理。

以下是一個(gè)示例代碼:

use App\Models\User;
use Illuminate\Pagination\Paginator;

// 查詢數(shù)據(jù)
$users = User::all();

// 每頁(yè)顯示的數(shù)量
$perPage = 10;

// 當(dāng)前頁(yè)碼
$page = request()->get('page', 1);

// 創(chuàng)建一個(gè)Paginator實(shí)例
$paginator = new Paginator($users->forPage($page, $perPage), $users->count(), $perPage, $page, [
    'path' => Paginator::resolveCurrentPath(),
]);

// 獲取分頁(yè)數(shù)據(jù)
$paginatedUsers = $paginator->items();

// 返回分頁(yè)數(shù)據(jù)
return view('users.index', ['users' => $paginatedUsers, 'paginator' => $paginator]);

在視圖文件中,可以使用$paginator對(duì)象來(lái)生成分頁(yè)鏈接:

@foreach ($users as $user)
    <!-- 顯示用戶信息 -->
@endforeach

{{ $paginator->links() }}

通過上述代碼,可以手動(dòng)實(shí)現(xiàn)分頁(yè)功能并在視圖中顯示分頁(yè)鏈接。

0