在ThinkPHP6中,实现分页不难,实现搜索也不难,但是带搜索条件的搜索却难倒很多人。同样的情况下,我们把tp5的代码搬过来,发现并不好使,那么ThinkPHP6带搜索条件的分页应该如何解决呢?
我们看下具体情景,我搜索了一个关键字,并且选择了分类进行文章的搜索筛选。
一、查找问题
首先我们先看下带搜索条件的第一页:
然后我们再看下第二页:
仔细的小伙伴会发现,在第二页、第三页的时候URL中没有带搜索条件。
二、如何解决:
问题关键已经找到了,那么如何解决呢?我们先去官网手册找一找:
在手册中,有个query 的项是负责url额外参数传递的,那这样就好办了。
直接看代码:
$where=[];//筛选条件数组 if(input('cate_id')){ $where[] = [ ['a.cate_id', '=', $cate_id], ]; } if(input('searchkey')){ $where[] = [ ['title', 'like', '%'.$searchkey.'%'], ]; } $archivesData=Db::name('archives')->alias('a')-> field('a.id,a.title,a.listorder,b.cate_name,a.time')-> join('category b','a.cate_id=b.id')-> where($where)-> order('a.listorder asc')->//小到大 order('a.id DESC')->//大-》小 paginate([ 'list_rows'=> 3,//每页数量 'query' => request()->param(), ]);
这样我们就把”ThinkPHP6带搜索条件的分页“这个问题完美解决了,其实遇到问题不要怕,我们先仔细看看手册,说不定就能解决我们遇到的难题。
【相关推荐】
Atas ialah kandungan terperinci ThinkPHP6带搜索条件的分页解决方案. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!