详情页

TP5 同字段多条件模糊查询

时间:2023年12月24日

编辑:佚名

Thinkphp5如何实现同字段多条件模糊查询?
原理:$map['r_name'] = [['like', '普通%'], ['like', '牛逼%'], ['like', '可爱%'], 'or'];
TP5 同字段多条件模糊查询-78模板网 - 一个分享技术、记录生活的个人技术博客
前端传递的参数:
location:重庆,广东省,北京,云浮,河南
tag:颜值达人,剧情搞笑,美妆
后端代码:
点击复制代码 PHP
public function example(){
    $where = [];
    
    if(stristr($tag,',')){
       $where['tags']=$this->strTool($tag);                
    }else{
       $where['tags'] = ['like', "%" . $tag . "%"];
    }  
    if(stristr($location,',')){
        $where['province'] =$this->strTool($location);
    }else{
         $where['province'] = ['like', '%' . $location . '%'];
    }
    $res = db('user')->where($where)->select();
    return json($res);
 
 }/**对同字段多条件查询
* $str 要拆分的字符串
* $handle 字段值
*/public function strTool($str){
  $strArr=explode(',',$str);
  $data=[];
  foreach ($strArr as $v) {
     $data[]=['like', "%" . $v . "%"];
  }
       $temp[0]=$data;
       $temp[1]='or';
       return $temp;}
tp5同一字段的多个模糊条件查询
点击复制代码 PHP
public function test(){
    $map['r_name'] = [['like', '普通%'], ['like', '牛逼%'], ['like', '可爱%'], 'or'];
    $list = Db::table("tp_role")
        ->fetchSql(true)
        ->where($map)
        ->select();
    dump($list);}
相关文章
猜你需要