ThinkPHP多字段匹配模糊查询

<?php
/**
 * Created by PhpStorm.
 * User: Sudo
 * Date: 2017/7/11
 * Time: 20:22
 */

(一)模糊查询的多字段之间关系为ADN
public function findWithInput(){
    $SellerLocation = D('SellerLocation');
    $input = I('input');
    if (!$input){
        $this->ajaxReturn(array('result'=>'false','data'=>'Unable to get your input parameters'),'JSON');//无法获取用户输入参数
    }else {
//多字段之间是AND关系
        $where['store_name & street & province & city & county & town & specific_address'] = array('like',"%$input%");
        $list = $SellerLocation->where($where)->fetchSql(true)->select();//只返回SQL语句,并不进行真实查询
//生成SQL语句为:SELECT * FROM `maigade_seller_location` WHERE ( (`store_name` LIKE '%1219%') AND (`street` LIKE '%1219%') AND (`province` LIKE '%1219%') AND (`city` LIKE '%1219%') AND (`county` LIKE '%1219%') AND (`town` LIKE '%1219%') AND (`specific_address` LIKE '%1219%') )
        if ($list!=null){
            $this->ajaxReturn(array('result'=>'success','data'=>$list),'JSON');
        }elseif($list==null){
            $this->ajaxReturn(array('result'=>'false','data'=>'According to the information you have entered is not found in the vicinity of the shop'),'JSON');
        }else{
            $this->ajaxReturn(array('result'=>'false','data'=>'Select store error'),'JSON');
        }

    }
}

(二)模糊查询的多字段之间关系为OR
public function findWithInput(){
    $SellerLocation = D('SellerLocation');
    $input = I('input');
    if (!$input){
        $this->ajaxReturn(array('result'=>'false','data'=>'Unable to get your input parameters'),'JSON');//无法获取用户输入参数
    }else {
//多字段之间是OR关系
        $where['store_name | street | province | city | county | town | specific_address'] = array('like',"%$input%");
        $list = $SellerLocation->where($where)->fetchSql(true)->select();//只返回SQL语句,并不进行真实查询
//生成SQL语句为:SELECT * FROM `maigade_seller_location` WHERE ( `store_name` LIKE '%1219%' OR `street` LIKE '%1219%' OR `province` LIKE '%1219%' OR `city` LIKE '%1219%' OR `county` LIKE '%1219%' OR `town` LIKE '%1219%' OR `specific_address` LIKE '%1219%' )
        if ($list!=null){
            $this->ajaxReturn(array('result'=>'success','data'=>$list),'JSON');
        }elseif($list==null){
            $this->ajaxReturn(array('result'=>'false','data'=>'According to the information you have entered is not found in the vicinity of the shop'),'JSON');
        }else{
            $this->ajaxReturn(array('result'=>'false','data'=>'Select store error'),'JSON');
        }

    }
}

?>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容