이 글에서는 주로 Yii2에서 여러 필드를 동시에 검색하는 방법을 소개하며, Yii2에서 여러 필드를 동시에 검색하는 데 사용되는 기능과 구체적인 사용 방법을 예시 형식으로 분석합니다.
이 글에서는 Yii2가 동시에 여러 필드를 검색하는 방법을 구현하는 예제를 설명합니다. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
Yii2의 검색 필드는 단락을 검색하는 데 사용할 수 있는 andFilterWhere 메서드를 사용합니다.
여러 필드를 검색하는 경우, 예를 들어 기사 제목과 기사 내용에 검색해야 할 키워드가 포함되어 있는지 검색하는 경우 둘 사이의 관계가 or이므로 orFilterWhere 방법
을 사용해야 합니다.
public function actionIndex() { $key =Yii::$app->request->post("key"); $query = Post::find()->joinWith('cate'); $post = $query->orderBy(['post.id' => SORT_DESC])->asArray()->where(['post.status' => 1]); if($key){ $post->andFilterWhere(['like', 'post.title', $key]) ->orFilterWhere(['like', 'post.content', $key]); } $pages = new Pagination([ 'totalCount' => $post->count(), 'defaultPageSize' => 10 ]); $model = $post->offset($pages->offset)->limit($pages->limit)->all(); return $this->render('index', [ 'model' => $model, 'pages' => $pages, ]); }
코드는 다음과 같이 sql 문을 볼 수 있습니다.
코드를 복사합니다. 코드는 다음과 같습니다.
select count(*) from `post` left join `category` on `post`.`cate_id`=`category`.`id` where ((`post`.`status`=1) and (`post`.`title` like '%key%')) or (`post`.`content` like '%key%') order by `post`.`id` desc select `post`.* from `post` left join `category` on `post`.`cate_id`=`category`.`id` where ((`post`.`status`=1) and (`post`.`title` like '%key%')) or (`post`.`content` like '%key%') order by `post`.`id` desc limit 10
관련 권장 사항:
위 내용은 Yii2는 동시에 여러 필드를 검색하는 방법을 실현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!