TP5 同字段多条件模糊查询

getfuner 658 0

原理:$map['r_name'] = [['like', '普通%'], ['like', '牛逼%'], ['like', '可爱%'], 'or'];

TP5 同字段多条件模糊查询-第1张图片-九零博客 - 一个分享技术、记录生活的个人技术博客

前端传递的参数:

location:重庆,广东省,北京,云浮,河南

tag:颜值达人,剧情搞笑,美妆

后端代码:

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同一字段的多个模糊条件查询

public function test(){
    $map['r_name'] = [['like', '普通%'], ['like', '牛逼%'], ['like', '可爱%'], 'or'];
    $list = Db::table("tp_role")
        ->fetchSql(true)
        ->where($map)
        ->select();
    dump($list);}


上一个当前已是最后一个了

下一个eyoucms自定义静态页面规则

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~