首页 > 建站教程 > PHP框架 >  ThinkPHP6 paginate分页后,url参数丢失正文

ThinkPHP6 paginate分页后,url参数丢失

我爱模板网在使用ThinkPHP6做项目时遇到了一个问题,在使用ThinkPHP6的paginate分页方法后,翻页就会丢失自己定义的传参,需要在分页地址上增加参数,类似于:
www.baidu.com/a.html?cateid=1

第一页正常,当翻页到第二页,期望url如下:
www.baidu.com/a.html?cateid=1&page=2

实际上变成了
www.baidu.com/a.html?&page=2

paginate的分页参数覆盖了自定义的参数,其实paginate是提供了自定义参数的,paginate的参数如下:
list_rows  每页数量
page       当前页
path       url路径
query      url额外参数
fragment   url锚点
var_page   分页变量

自定义的参数,需要传给query,如下
$news=News::where('news_category_id',$id)
    ->order('id','desc')
    ->paginate(
        ['list_rows'=> 10, 'var_page' => 'page','query'=>['cateid'=>1]]
    );
还是文档没仔细看,这样就解决了。