解决Thinkphp5.0搜索分页BUG

325 阅读1分钟

博客的搜索使用的是shinx。今天寻思试一下,搜索是没有问题的,但是我点击下一页之后,出来的结果不是搜索之后的结果了,URL上的搜索条件也没了。

这什么情况,我是GET传的值啊,Emmmmm……

百度了一下,原来这是Thinkphp底层的一个bug,也不能说是bug,用该说是一个‘小彩蛋’,只是官方文档并没有关于这个‘小彩蛋’的相关介绍

不废话了。改起来其实很简单。

这是最初的写法:分页是没有搜索参数的

$articleList = $article
->where($map)
                ->group('a.id')
                ->paginate(10,false,$page);
// page是分页传过来的页码

 

修改之后的写法:(这个设计,有点反人类)

$articleList = $article
->where($map)
                ->group('a.id')
           ->paginate(10,false,['query'=>request()->param());
// request()->param() 是接收的所有参数

然后,就好用了。

 

有好的建议,请在下方输入你的评论。