改动目录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', ' ' '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) {使用方法跟like一样。如下:
// 模糊查询 采用正则方式
$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');
}where(['like',$value]); /*全局模糊查询*/
where(['like_first',$value]); /*以$value开头的所有数据*/
where(['like_last',$value]); /*以$value结尾的所有数据*/
0
0
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
C++ 高级模板编程与元编程
本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。
10
2026.01.23
Golang 性能分析与pprof调优实战
本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。
9
2026.01.22
热门下载
相关下载
精品课程
相关推荐
/
热门推荐
/
最新课程








