Thinkphp5.0mongodb单边查询【附改动后源码】

浏览:2088 发布日期:2016/08/11 分类:系统代码 关键字: 模糊查询 单边查询 mongo
改动目录vendor/tothink/think-mongo/src/Builder.php 第35行跟第230行。已提交官方建议,改不改,看这个东西的重要与否,自己用,可以改。
新增以查询字符串$value开头的所有查询like_first,跟以$value结尾的所有查询两个模糊查询方法like_last。源码改动如下!protected $exp = ['<>' => 'ne', '=' => '=', '>' => 'gt', '>=' => 'gte', '<' => 'lt', '<=' => 'lte', 'in' => 'in', 'not in' => 'nin', 'nin' => 'nin', 'mod' => 'mod', 'exists' => 'exists', 'regex' => 'regex', 'type' => 'type', 'all' => 'all', '> time' => '> time', '< time' => '< time', 'between time' => 'between time', 'not between time' => 'not between time', 'notbetween time' => 'not between time', 'like' => 'like','like_first'=>'like_first','like_last'=>'like_last'];} elseif ('like' == $exp) {
            // 模糊查询 采用正则方式
            $query[$key] = $value instanceof Regex ? $value : new Regex("$value", 'i');
        }elseif ('like_first' == $exp) { 
            // 模糊查询 采用正则方式查询以$value开头的所有数据
            $query[$key] = $value instanceof Regex ? $value : new Regex("^$value", 'i');
        }elseif ('like_last' == $exp) {
            // 模糊查询 采用正则方式查询以$value结尾的所有数据
            $query[$key] = $value instanceof Regex ? $value : new Regex("$value$", 'i');
        }
使用方法跟like一样。如下:where(['like',$value]);         /*全局模糊查询*/
where(['like_first',$value]);   /*以$value开头的所有数据*/
where(['like_last',$value]);    /*以$value结尾的所有数据*/
评论( 相关
后面还有条评论,点击查看>>