📜  带有查询字符串的 laravel 分页,带有字符串的 laravel 分页 (1)

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

带有查询字符串的 Laravel 分页

Laravel 提供了很方便的分页功能。然而,有时我们需要把查询字符串传递到分页链接中,以便在分页时保留查询条件。在本文章中,我会介绍如何使用带有查询字符串的 Laravel 分页。

步骤一:获取查询字符串

首先,我们需要获取查询字符串。Laravel 提供了 query 方法来获取查询字符串。以下是例子:

$query = $request->query();
步骤二:传递查询字符串到分页链接中

接下来,我们需要将查询字符串传递到分页链接中。Laravel 提供了 appends 方法。以下是例子:

$items = DB::table('items')->paginate(10);
$items->appends($query);

以上代码将把查询字符串作为参数传递给 appends 方法。现在,每个分页链接将包含查询字符串。

步骤三:显示分页链接

最后,我们需要在视图中显示分页链接。Laravel 提供了 links 方法。以下是例子:

{{ $items->appends($query)->links() }}

以上代码将显示包含查询字符串的分页链接。

完整示例
public function index(Request $request)
{
    $query = $request->query();

    $items = DB::table('items')->paginate(10);
    $items->appends($query);

    return view('items.index', ['items' => $items]);
}
// 这里是视图代码

<table>
    <thead>
        <tr>
            <th>ID</th>
            <th>Name</th>
        </tr>
    </thead>
    <tbody>
        @foreach ($items as $item)
            <tr>
                <td>{{ $item->id }}</td>
                <td>{{ $item->name }}</td>
            </tr>
        @endforeach
    </tbody>
</table>

{{ $items->appends($query)->links() }}

现在,我们已经成功地创建了带有查询字符串的 Laravel 分页!