首页 > 编程 > PHP > 正文

Yii2如何实现同时搜索多个字段

2020-03-22 19:59:05
字体:
来源:转载
供稿:网友
这篇文章主要介绍了Yii2实现同时搜索多个字段的方法,结合实例形式分析了Yii2中同时搜索多个字段所使用的函数与具体使用方法,需要的朋友可以参考下

本文实例讲述了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教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表