📅  最后修改于: 2023-12-03 15:32:32.863000             🧑  作者: Mango
在使用 Laravel 8 的引导分页功能时,有时会遇到分页链接出错的情况,即分页链接的 href 属性不正确。这是因为 Laravel 8 默认使用的是相对路径,但有时我们需要使用绝对路径来避免这个问题。
下面是一种修复方法:
use Illuminate\Pagination\Paginator;
// ...
Paginator::useBootstrap();
$appUrl = config('app.url');
Paginator::currentPathResolver(function () use ($appUrl) {
return $appUrl . request()->getPathInfo();
});
Paginator::currentPageResolver(function () use ($appUrl) {
$pageName = Paginator::resolveCurrentPageName();
$page = request($pageName, 1);
return $page;
});
以上代码在使用 Bootstrap 分页时设置了使用绝对路径,并通过 config('app.url')
获取了当前应用的 URL 前缀。这样可以保证分页链接的 href 属性是绝对路径。
同时,还设置了当前路径和当前页数的解析方法,用于解析分页链接中的当前路径和页数。
以上代码可以放在 AppServiceProvider
的 boot
方法中,也可以放在其他合适的位置,具体取决于你的需求。
这样就解决了 Laravel 8 引导分页链接出错的问题,使分页功能更加可靠和稳定。