本文實例講述了Yii2實現同時搜索多個字段的方法。分享給大家供大家參考,具體如下:
Yii2中搜索字段是用的andFilterWhere這個方法,用它可以搜索一個一段。
如果是搜索多個字段的話 ,比如搜索文章標題和文章內容是是否包含需要搜索的關鍵詞,因為他們兩個的關系是or,所以就要用到orFilterWhere這個方法
下面就是全部的代碼
html' target='_blank'>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` descselect `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
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !
相關推薦:
如何通過Yii實現Command任務處理的方法
使用Yii2 rbac權限控制菜單menu
以上就是Yii2如何實現同時搜索多個字段的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答