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

如何为Laravel paginate分页链接的查询字符串添加GET参数?

Laravel分页URL追加GET参数失效解决方案

错误原因

你当前的写法存在两个核心问题:

  • Laravel分页实例不会自动读取你自定义的pagenate_params变量,必须手动调用appends()方法绑定查询参数到分页实例
  • Blade模板中硬写死了year的值为2022,没有读取请求传入的动态参数

修正方案

方案一:控制器端绑定参数(更推荐,模板维护成本更低)

直接在控制器中将参数追加到分页实例,模板无需额外处理:

public function list(Request $request)
{
    // 读取请求中的year参数,可指定默认值避免为空
    $year = $request->input('year', '');
    $companies = Company::orderBy('id', 'DESC')->paginate(15);
    // 绑定参数到分页实例
    $companies->appends(['year' => $year]);
    
    return view('list', [
        'companies' => $companies,
        'year' => $year
    ]);
}

对应Blade模板分页部分直接调用即可:

{{ $companies->links() }}

方案二:模板端绑定参数

如果需要在视图层处理参数绑定,动态读取传入的year值即可:

{{ $companies->appends(['year' => $year])->links() }}

其他注意事项

你当前Blade模板中的列表链接存在语法错误,缺少标签闭合标记,修正后写法:

@foreach ($companies as $company)
    <a href="{{ route('next',['id' => $company->id ,'year' => $year])}}">{{$year}}</a> 
@endforeach

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:36:05