改動目錄vendor/tothink/think-mongo/src/Builder.php 第35行跟第230行。已提交官方建議,改不改,看這個東西的重要與否,自己用,可以改。
新增以查詢字串$value開頭的所有查詢like_first,跟著以$value結尾的所有查詢兩個模糊查詢方法like_last。原始碼改動如下! protected $exp = ['' => 'ne', '=' => '=', '>' => 'gt', '>=' => 'gte', => 'gt', '>=' => 'gte', ' 'lte', 'in' => 'in', 'not in' => 'nin', 'nin' => 'nin', 'mod ,> 'mod'mod, 'exists' => 'exists', 'regex' => 'regex', 'type' => 'type', 'all' => 'all', '> ) ' => ' 'between time', 'not between time' => 'not between time', like','like_first'=>'like_first','like_last'=>'like_last'];
} elseif ('like' == $exp) {<br>
// 模糊查詢 使用正規方式<br>
$query[$key] = $value instanceof Regex ? $value : new Regex("$value", 'i');
}elseif ('like_first' == $exp) { <br>
// 模糊查詢 以正規方式查詢以$value開頭的所有資料<br>
$query[$key] = $value instanceof Regex ? $value : new Regex("^$value", 'i');<br>);<br>
}elseif ('like_last' == $exp) {<br>
// 模糊查詢 以正規方式查詢以$value結尾的所有資料<br>
$query[$key] = $value instanceof Regex ? $value : new Regex("$value$", 'i');<br>);
}使用方式跟like相同。如下:<br>where(['like',$value]); /*全域模糊查詢*/<br>
where(['like_first',$value]); /*以$value開頭的所有資料*/
where(['like_last',$value]); /*以$value結尾的所有資料*/