本文實例講述了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語句如下:
更多關於Yii相關內容有興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《php物件導向程式設計入門教程》、《php字串(string)用法總結》、《php+mysql資料庫操作入門教學》及《php常見資料庫操作技巧總表》
希望本文所述對大家以Yii架構為基礎的PHP程式設計有所幫助。