📜  在 larvel 分页中显示从到 - PHP (1)

📅  最后修改于: 2023-12-03 15:07:42.779000             🧑  作者: Mango

在 Laravel 分页中显示从 X 到 Y

简介

在 Laravel 中,分页是一个非常常见的需求。通常情况下,我们使用 paginate() 方法来进行分页。但是,有时候我们需要在分页中显示从 X 到 Y 的数据,而不是默认的从 1 到 Y。

本文将介绍如何在 Laravel 分页中显示从 X 到 Y 的数据。

步骤
  1. 首先,我们需要在控制器中指定要显示的数据范围。假设我们需要显示从 5 到 15 的数据,我们可以使用下面的代码来获取数据:
$data = DB::table('table_name')->whereBetween('id', [5, 15])->get();

注意,这里使用了 whereBetween() 方法来限制数据范围。你需要将 table_name 替换为你的实际表名,将 id 替换为你的实际主键名。

  1. 接下来,我们需要使用 paginate() 方法来分页显示数据。在 paginate() 方法中,我们需要指定每页显示的数据条数。假设我们每页显示 5 条数据,我们可以使用下面的代码:
$perPage = 5;
$currentPage = request('page', 1);
$data = collect($data)->forPage($currentPage, $perPage)->values();
$pagination = new LengthAwarePaginator($data, count($data), $perPage, $currentPage, [
    'path' => LengthAwarePaginator::resolveCurrentPath(),
    'pageName' => 'page',
]);

这里的代码中,我们使用了 Laravel 自带的 LengthAwarePaginator 类来进行分页。你需要将 $data 替换为你要分页的数据,将 $perPage 替换为你要每页显示的数据条数。

  1. 最后,我们需要在视图中显示分页链接和数据。假设你的视图文件为 index.blade.php,你可以使用下面的代码来显示分页链接和数据:
@foreach($pagination as $item)
    // 显示数据
@endforeach
{{ $pagination->render() }}

这里的 @foreach 循环会遍历每一页的数据,并将其显示出来。$pagination->render() 方法会生成分页链接,并将其显示在页面底部。

结论

现在,你已经知道如何在 Laravel 分页中显示从 X 到 Y 的数据了。使用上述步骤,你可以轻松地实现这个功能。