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

Laravel7配合Vuejs查询产品分页时出现Trying to access array offset错误

问题原因

该错误触发的核心原因是paginate方法调用时读取的分页参数来源为空:

  • 你通过$request->query('pagination')获取查询参数里的分页配置,如果前端请求没有传递pagination参数、或者参数传递格式错误,该变量会直接返回null,此时访问$pagination['page']就会触发「尝试访问null类型值的数组偏移」的报错
  • 同理你直接读取$request['pagination']['per_page']时,也会因为$request['pagination']为null触发相同的异常
修复方案

优先给分页参数添加默认兜底值,避免参数缺失时报错,推荐使用Laravel自带的data_get辅助函数安全读取数组属性,示例代码如下:

// 读取pagination参数,默认兜底为空数组
$pagination = $request->query('pagination', []);
// 安全读取分页配置,缺失时用默认值兜底
$perPage = data_get($pagination, 'per_page', 10); // 默认每页10条
$currentPage = data_get($pagination, 'page', 1); // 默认返回第一页

$prod = Product::where('is_active', true)
    ->with(['categories', 'brand', 'images' => function ($query) {
        $query->where('default', true);
    }])
    ->Order($request)
    ->BrandStore($request)
    ->CategoryStore($request, $active_categories)
    ->paginate($perPage, ['*'], 'page', $currentPage);

如果修改代码后问题仍然存在,可以额外检查Vue前端的传参逻辑:确认发起请求时pagination是按对象格式传递,避免axios参数序列化时把pagination扁平化导致后端读取异常。

内容的提问来源于stack exchange,提问作者Andrés Lopez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:45:04