Laravel增加URL参数

xiaohai 2020-08-16 22:54:23 1686人围观 标签: Laravel 
简介在做搜索列表分页的时候,需要分页后的页面跳转的url地址中包含搜索的参数,在Laravel中的如何处理呢?

如果我们使用Laravel的模型进行分页时,可以使用paginate方法:

$keyword = trim($request->input('keyword', '')); $list = BlogList::where('release_status', 1)->when($keyword, function ($query) use ($keyword) { $query->where("title", "like", "%" . $keyword . "%"); })->orderBy('id', 'desc')->paginate(10);

在视图中我们如果要生成分页的数据,可以使用如下方式:

{{$list->links()}}

但是这样分页出来的数据,只会有分页变量page,没有搜索的keyword的搜索参数,如果我们需要增加分页参数,可以使用通过appends函数来进行处理,如:

{{$list->appends(['keyword'=>$keyword])->links()}}

但是这样我们需要在控制器中传入keyword变量,下面我们通过一个最简单的方式来处理,就是把数据通过Request::except来获取请求的数据,并排除一些不需要的参数,使用方式如下:

{{$list->appends(Request::except('page', '_pjax'))->links()}}

注意:Request::except是获取到除了page和_pjax以外的所有参数数组。