You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 10分页数据统计显示异常,请求技术协助

Laravel 10分页统计显示错误的修复方案

你遇到的分页统计显示错误,核心问题出在**LengthAwarePaginator的参数传递错误**,同时可能你的API接口没有正确处理分页请求,具体分析和修复如下:

错误原因拆解

  1. 总数据量参数错误:你用count($json)作为总数据量传入分页器,但$json是API返回的当前页数据(如果API没分页就是全部13条),这会让分页器误判总数据量等于当前页数据量,或者直接拿到全量数据导致统计错误。
  2. API接口可能未生效分页:如果你的/api/culinary接口没有根据page和per_page参数做分页处理,会直接返回全部13条数据,分页器拿到全量数据后自然显示"1 to 13"。

修复步骤

1. 确保API返回标准分页结构

如果你的API是Laravel编写的,接口必须返回Laravel自带的分页响应(包含总数据量、当前页等元数据),示例代码如下:

// API端的Culinary控制器index方法
public function index(Request $request)
{
    $perPage = $request->query('per_page', 8);
    // 使用paginate()而不是get(),自动返回带分页元数据的响应
    return Culinary::paginate($perPage);
}

此时API返回的JSON结构会是这样:

{
  "data": [/* 当前页的8条数据 */],
  "total": 13,
  "per_page": 8,
  "current_page": 1,
  "last_page": 2
}

2. 修正前端控制器的分页器初始化代码

解析API返回的分页元数据,正确传入LengthAwarePaginator的参数:

public function index(Request $request)
{
    $client = new \GuzzleHttp\Client();

    $perPage = $request->query('per_page') ?: 8;
    $page = $request->query('page') ?: 1;

    $url = "http://localhost/api/culinary?page=$page&per_page=$perPage";

    $response = $client->request('GET', $url);
    $apiResponse = json_decode((string)$response->getBody(), true);

    // 正确初始化分页器:传入当前页数据、总数据量、每页条数、当前页码
    $paginatedResult = new LengthAwarePaginator(
        $apiResponse['data'],   // 当前页的数据列表
        $apiResponse['total'],  // 数据库中的总数据量(关键!)
        $apiResponse['per_page'], // 每页显示条数
        $apiResponse['current_page'], // 当前页码
        [
            'query' => $request->query(), // 保留查询字符串参数
        ]
    );

    // 设置分页链接的基础路径,和视图中的配置一致
    $paginatedResult->withPath('/culinary');

    $view_data = [
        'title' => 'Browse Culinary',
        'data' => $paginatedResult,
    ];
    return view('culinary.index', $view_data);
}

3. 视图代码保持不变

你的视图分页代码是正确的,无需修改:

{{ $data->withQueryString()->withPath('/culinary')->links() }}

验证效果

修复后,第一页会显示「Showing 1 to 8 of 13 results」,第二页显示「Showing 9 to 13 of 13 results」,符合预期。

内容的提问来源于stack exchange,提问作者dapidmini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 06:48:19