最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

ThinkPHP6搜索器的使用

来源:动视网 责编:小采 时间:2020-11-02 18:48:36
文档

ThinkPHP6搜索器的使用

ThinkPHP6搜索器的使用:我们在做多条件搜索的时候,可以使用传统的数组方式,今天给大家介绍另外一种,就是ThinkPHP6搜索器。一、了解搜索器的定义我们依然先看看手册中关于搜索器的说明。搜索器的作用是用于封装字段(或者搜索标识)的查询条件表达式,一个搜索器对应一个特殊的方
推荐度:
导读ThinkPHP6搜索器的使用:我们在做多条件搜索的时候,可以使用传统的数组方式,今天给大家介绍另外一种,就是ThinkPHP6搜索器。一、了解搜索器的定义我们依然先看看手册中关于搜索器的说明。搜索器的作用是用于封装字段(或者搜索标识)的查询条件表达式,一个搜索器对应一个特殊的方


二、建立搜索条件

如何使用搜索器?我们结合实例来讲解。

我们有三个搜索条件分别是:goods_cate_id(分类筛选)、goods_status(状态筛选)、goods_name(关键字筛选)。

我们先建立三个搜索方法:

public function searchGoodsCateIdAttr($query, $value)
 {
 $query->where('goods_cate_id','in', $value);
 }

 public function searchGoodsStatusAttr($query, $value)
 {
 $query->where('goods_status','=', $value);
 }

 public function searchGoodsNameAttr($query, $value)
 {
 $query->where('goods_name','like', '%'.$value.'%');
 }

要特别注意,搜索方法的命名,我们必须严格按照官方手册中的要求定义。比如说我们数据表搜索字段为goods_cate_id,那么在定义方法的时候如下都是错误的:

1、public function searchGoodsCateId($query, $value),少Attr。

2、public function searchGoodsCateIDAttr($query, $value),驼峰写法错误。

3、public function searchGoodsCateAttr($query, $value),少Id驼峰写法错误。

4、private function searchGoodsCateIdAttr($query, $value),必须是public。

三、触发搜索

搜索器只有在调用 withSearch 方法的时候触发。

$goodsData=Goods::name('goods')->withSearch(['goods_cate_id','goods_status','goods_name'],[
 'goods_cate_id'=>$cateChilerenId,
 'goods_status'=>$goods_status,
 'goods_name'=>$goods_name
 ])->paginate(10);

另外,搜索器除了可以做搜索,同时也可以做排序功能,在这里就不再举例。

在调试的时候,我们还可以打印下sql语句,如果没有我们想要的结果,我们可以直接分析sql语句。

echo Goods::getLastSql();

文档

ThinkPHP6搜索器的使用

ThinkPHP6搜索器的使用:我们在做多条件搜索的时候,可以使用传统的数组方式,今天给大家介绍另外一种,就是ThinkPHP6搜索器。一、了解搜索器的定义我们依然先看看手册中关于搜索器的说明。搜索器的作用是用于封装字段(或者搜索标识)的查询条件表达式,一个搜索器对应一个特殊的方
推荐度:
标签: 使用 tp php
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top