4 Db类:查询表达式
0)基本语法
where('字段名','查询表达式','查询条件');
不区分大小写
1)比较类型
= 等于 <> 不等于 > 大于 >= 大于等于 < 小于 <= 小于等于
2)复杂类型
[not] like 模糊查询 whereLike('字段名','匹配条件')
[not] between 区间查询
[not] in in查询
[not] NULL 查询字段是不是NULL
[not] exists 存在查询
[not] regexp 正则查询
3)时间相关
between time 时间区间比较 > time 大于某个时间 < time 小于某个时间 >= time 大于等于某个时间 <= time 小于等于某个时间
4)其他
exp 表达式查询,支持sql语法
find in set FIND_IN_SET查询
二 使用实例
1)比较类型
等于 Db::name('user')->where('id','=',100)->select(); Db::name('user')->where('id',100)->select();//简写 select * from `think_user` where `id` = 100;
2)like的使用
like:Db::name('bbs_category')->where('name','like','%江')->select();
select * from `bbs_category` where `name` like '%江';
not like:Db::name('bbs_category')->where('name','not like','%江')->select(); select * from `bbs_category` where `name` not like '%江';
支持多个参数
Db::name('bbs_category')->where('name', 'like', ['%江','小%'],'OR')->select();
select * from bbs_category where (name like '%江' or name like '小%');
//快捷查询
Db::name('bbs_category')->whereLike('name','thinkphp%')->select();
Db::name('bbs_category')->whereNotLike('name','thinkphp%')->select();
3)between 查询
查询条件支持字符串和数组
where('id','between','1,8') = where('id','between',[1,8]);
select * from `bbs_category` where `id` between 1 and 8
//快捷查询
Db::name('bbs_category')->whereBetween('id','1,8')->select();
Db::name('bbs_category')->whereNotBetween('id','1,8')->select();
4)in查询
//查询条件支持字符串和数组 Db::name('user')->where('id','in','1,5,8')->select(); Db::name('user')->where('id','in',[1,5,8])->select(); 最终SQL:SELECT * FROM `think_user` WHERE `id` IN (1,5,8);
//快捷查询 Db::name('user')->whereIn('id','1,5,8')->select(); Db::name('user')->whereNotIn('id','1,5,8')->select();
5)查询字段是否是 null 或 not null
//常规语法 Db::name('bbs_category')->where('e_name','=','null')->select();//等于NULL Db::name('bbs_category')->where('e_name','=','not null')->select();//不等于NULL
//快捷查询 Db::name('bbs_category')->whereNull('e_name')->select(); Db::name('bbs_category')->whereNotNull('e_name')->select();
6)EXP:表达式 支持更复杂的查询
$res = Db::name('bbs_category')->where('id','in','1,3,8')->select(); //基础语法 $res = Db::name('bbs_category')->where('id','exp',' IN (1,3,8) ')->select(); //快捷查询 Db::name('bbs_category')->whereExp('id', 'IN (1,3,8) ')->select(); //exp 查询的条件不会被当成字符串,所以后面的查询条件可以使用任何SQL支持的语法,包括使用函数和字段名称

浙公网安备 33010602011771号