Laravel 8 - Pagination分页

Laravel 8 - Pagination分页 首页 / Laravel8入门教程 / Laravel 8 - Pagination分页

在此示例中,将开始向您说明如何使用laravel分页。

步骤1:添加路由

首先,无涯教程为具有分页函数的列表用户设置路由。

routes/web.php

<?php

use Illuminate\Support\Facades\Route;

use App\Http\Controllers\UserController;

/*

|--------------------------------------------------------------------------

| Web Routes

|--------------------------------------------------------------------------

|

| Here is where you can register web routes for your application. These

| routes are loaded by the RouteServiceProvider within a group which

| contains the "web" middleware group. Now create something great!

|

*/

Route::get('users' [UserController::class 'index']);

步骤2:创建控制器

与上述路由相同,这里无涯教程将为路由添加一种新方法。 index()将返回带有分页数据,因此添加以下内容:

app/Http/Controllers/UserController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Models\User;

class UserController extends Controller

{

/**

* Display a listing of the resource.

*

* @return \Illuminate\Http\Response

*/

public function index()

{

$data = User::paginate(5);

return view('users'compact('data'));

}

}

步骤3:创建视图

在此步骤中,您需要创建用户视图blade文件,并将与links()一起使用,以便它将自动生成分页。

resources/views/users.blade.php

<!DOCTYPE html>

<html>

<head>

<title>Laravel 8 CRUD Application - 无涯教程</title>

<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/css/bootstrap.css" rel="stylesheet">

</head>

<body>

<div class="container">

<h1>Laravel 8 Pagination Example - 无涯教程</h1>

<table class="table table-bordered">

<thead>

<tr>

<th>Name</th>

<th width="300px;">Action</th>

</tr>

</thead>

<tbody>

@if(!empty($data) && $data->count())

@foreach($data as $key => $value)

<tr>

<td>{{ $value->name }}</td>

<td>

<button class="btn btn-danger">Delete</button>

</td>

</tr>

@endforeach

@else

<tr>

<td colspan="10">There are no data.</td>

</tr>

@endif

</tbody>

</table>

{!! $data->links() !!}

</div>

</body>

</html>

现在您可以运行并检查此示例。这是一个非常简单和基本的例子。

如果使用bootstrap程序,则必须在服务提供者(service provider)上添加useBootstrap(),如下所示:

app\Providers\AppServiceProvider.php

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

use Illuminate\Pagination\Paginator;

class AppServiceProvider extends ServiceProvider

{

/**

* Register any application services.

*

* @return void

*/

public function register()

{

}

/**

* Bootstrap any application services.

*

* @return void

*/

public function boot()

{

Paginator::useBootstrap();

}

}

如果您需要预先使用分页,则可以在下面看到如何使用。

Pagination与appends parameter

{!! $data->appends(['sort' => 'votes'])->links() !!}

与追加分页请求所有参数

{!! $data->appends(Request::all())->links() !!}

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

技术领导力实战笔记 -〔TGO鲲鹏会〕

职场求生攻略 -〔臧萌〕

OAuth 2.0实战课 -〔王新栋〕

Spark性能调优实战 -〔吴磊〕

性能优化高手课 -〔尉刚强〕

说透5G -〔杨四昌〕

搞定音频技术 -〔冯建元 〕

给程序员的写作课 -〔高磊〕

云原生基础架构实战课 -〔潘野〕

好记忆不如烂笔头。留下您的足迹吧 :)