Laravel 分页在第一页后不起作用

问题描述 投票:0回答:7

我正在开发一款行李管理应用程序。当我尝试对报告中的发货详细信息进行分页时,它无法正常工作。它在第一页中工作正常,但当我单击第二页链接时,它显示空白页。

ReportsController.php

parcelreport.blade.php

我的路线是

web.php

laravel pagination
7个回答
5
投票

你可以试试这个。希望这可以帮助你

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

4
投票

这是因为您在路线中使用了邮寄。单击链接后,浏览器会重定向,但它只是从您创建的第一个路由加载视图,而不是通过使用控制器的后一个路由运行。尝试更改第二个路由的 URL 并将其设置为 get,以便您可以使用控制器实际处理第二个、第三个...页面。或者让所有请求通过控制器运行,并检查

$request->to
$request->from
是否存在,以确定是否应该进行数据库查询。


0
投票

看起来您需要将

to
from
添加到链接中。

{{ $shipments->appends(['from' => $from, 'to' => $to])->links() }}

文档(向下滚动到附加到分页链接


0
投票

$chunk = $collection->forPage(2, 3);/// 页码,每页的项目数

$chunk->all();

来自 Laravel 文档

https://laravel.com/docs/5.7/collections#method-forpage


0
投票

我最近在 Laravel 9 上遇到了类似的问题。我总是只看到 Laravel 分页的第一页。

结果我的 nginx 配置缺少包含查询字符串。

这是我原来的 nginx.conf,它不起作用

# conf that did not work
location / {
  try_files $uri $uri/ /index.php;
}
    

更新了它以包含查询字符串并且它起作用了。

# working conf
location / {
  try_files $uri $uri/ /index.php?$query_string;
}
    

注:

未经测试,但我想这个conf也不适用于laravel分页

try_files $uri $uri/ /index.php$args;

0
投票

就我而言,问题显然与方法类型有关,它对我有用

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


0
投票

你也用

 use Carbon\Carbon;
$fromDate = $request->from_date ?? Carbon::today()->toDateString();
        $toDate = $request->to_date ?? Carbon::today()->toDateString();
        $orders = Order::with('orderDetails', 'journeyDetails', 'user')
            ->whereBetween('created_at', [$fromDate . ' 00:00:00', $toDate . ' 23:59:59'])
            ->paginate(10);
        $orders->appends(['from_date' => $fromDate, 'to_date' => $toDate]);
Then your site url 
http://localhost:8000/admin/sales-report?from_date=2023-12-01&to_date=2023-12-25&page=4
© www.soinside.com 2019 - 2024. All rights reserved.