Pie*_*ter 6 pagination laravel
在我的 Laravel (5.7) 控制器中,我已将分页 +“每侧导航”设置为 2 个项目。然而,这在我看来是行不通的。我收到的项目比 2 个多得多,这导致我的窗口在小型移动设备上崩溃。
造成这种情况的原因是什么以及如何解决?我的意思是,我可以用 CSS 修复它,但我想以正确的方式修复它。
我在控制器中的代码:
public function index(Request $request)
{
$type = 'all';
if ($request->has('type')) {
if ($request->type == 'all') {
$materials = Material::paginate(10)->onEachSide(2);
} else {
$type = $request->type;
$materials = Material::where('type', $type)->paginate(10)->onEachSide(2);
}
} else {
$materials = Material::paginate(10)->onEachSide(2);
}
$stock = array(
'enkelzitKajaks' => Material::where('type', 'Enkelzitkajak')->count(),
'dubbelzitKajaks' => Material::where('type', 'Dubbelzitkajak')->count(),
'canadeseKanos' => Material::where('type', 'Canadese kano')->count(),
'langePeddels' => Material::where('type', 'Lange peddel')->count(),
'kortePeddels' => Material::where('type', 'Korte peddel')->count(),
'tonnetjes' => Material::where('type', 'Tonnetje')->count(),
'zwemvesten' => Material::where('type', 'Zwemvest')->count()
);
return view('materials.index')->with('materials', $materials)->with('stock', $stock)->with('type', $type);
}
Run Code Online (Sandbox Code Playgroud)
我在视图中的代码:
<section class="pagination">
<div class="container">
<div class="row">
<div class="col-12">
{{ $materials->links() }}
</div>
</div>
<hr>
</div>
</section>
Run Code Online (Sandbox Code Playgroud)
我在小型设备上的视图截图:
小智 6
首先,laravel 分页onEachSide(x)除了中间部分之外还有前导和尾部部分。前两页和尾两页。
您正在尝试使用onEachSide(2)和第 6 页。现在我们尝试看看分页的逻辑。
在 laravel 中,当使用onEachSide(2)时,它会显示这样的分页
| 前导两页 | 当前页 - 2 | 当前页面 | 当前页+2 | 拖尾两页 |
|---|---|---|---|---|
| 1,2 | 4,5 | 6 | 7,8 | 22,23 |
然后考虑分页的第一部分,它需要显示第 1 页到第 8 页,而不显示第 3 页。它需要是一个带点的显示按钮,而不是第三页。
然后,它将显示原始的第 3 页码,而不是显示第三页的带点的按钮。
在第 6 页之后,laravel 分页 onEachSide(2) 将正常工作
你应该onEachSide在刀片中使用它。
onEachSide从控制器中取出。当您创建 API 时,在控制器中使用onEachSide会很有帮助。onEachSide而是在刀片文件中使用。
<section class="pagination">
<div class="container">
<div class="row">
<div class="col-12">
{{ $materials->onEachSide(1)->links() }}
</div>
</div>
<hr>
</div>
</section>
Run Code Online (Sandbox Code Playgroud)
用户可以通过改变参数来管理链接窗口onEachSide
https://laravel.com/docs/8.x/pagination# adjustment-the-pagination-link-window