ThinkPHP6에서는 페이징 구현도, 검색 구현도 어렵지 않지만, 검색 조건으로 검색하는 것은 많은 분들을 당황하게 합니다. 같은 상황에서 tp5 코드를 옮겨서 작동하지 않는 것을 발견했습니다. 그렇다면 ThinkPHP6에서는 검색 조건으로 페이징을 어떻게 해결할 수 있을까요?
구체적인 시나리오를 살펴보겠습니다. 키워드를 검색하고 카테고리를 선택하여 기사를 검색했습니다.
1. 문제 찾기
우선 검색 조건이 있는 첫 번째 페이지를 살펴보겠습니다.
그런 다음 두 번째 페이지를 살펴보겠습니다.
주의 깊은 친구들이 알아낼 것입니다. , 두 번째 및 세 번째 페이지의 URL에는 검색 조건이 없습니다.
2. 해결 방법:
문제의 핵심을 찾았으니 어떻게 해결할까요? 먼저 공식 웹사이트 매뉴얼로 가서 찾아보겠습니다.
매뉴얼에는 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 페이징 검색 조건" 문제가 완벽하게 해결되었습니다. 실제로 문제가 발생하면 두려워하지 말고 먼저 매뉴얼을 주의 깊게 읽어 봅시다. 어쩌면 우리가 직면한 문제를 해결할 수 있을지도 모릅니다.
【관련 추천】
위 내용은 검색 조건을 갖춘 ThinkPHP6 페이징 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!