ThinkPHP6 では、ページングの実装も難しくありませんし、検索の実装も難しくありませんが、多くの人が検索条件を使った検索につまづきます。同じ状況で tp5 コードを移動したところ、動作しなかったので、ThinkPHP6 で検索条件付きのページングを解決するにはどうすればよいでしょうか?
具体的なシナリオを見てみましょう。キーワードを検索し、カテゴリを選択して記事を検索およびフィルタリングしました。
#1. 問題を見つける
まず、検索条件が指定された最初のページを見てみましょう:次に、2 ページ目を見てみましょう。 注意している人は、2 ページ目と 3 ページ目に URL がないことに気づくでしょう。 . 検索条件あり。
2. 解決方法:
$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(), ]);
【関連する推奨事項】1. 2.ファクトリモードを使用して Alibaba Cloud SMS
以上が検索条件を備えた ThinkPHP6 ページング ソリューションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。