本文实例讲述了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教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答