一. 比较查询
在查询数据进行筛选时,采用 where()方法,比如 id=80;
Db::name('user')->where('id', 80)->find();
Db::name('user')->where('id','=',80)->find();
使用<>(不等于)、>、<、>=、<=可以筛选出各种符合比较值的数据列表;
Db::name('user')->where('id','<>',80)->select();
二. 区间查询
- 使用 like 表达式进行模糊查询;
Db::name('user')->where('email','like','xiao%')->select();
- like 表达式还可以支持数组传递进行模糊查询;
Db::name('user')->where('email','like',['xiao%','wu%'], 'or')->select();
SELECT * FROM `tp_user` WHERE (`email` LIKE 'xiao%' OR `email` LIKE 'wu%')
- like 表达式具有两个快捷方式 whereLike()和 whereNoLike();
Db::name('user')->whereLike('email','xiao%')->select();
Db::name('user')->whereNotLike('email','xiao%')->select();
- between 表达式具有两个快捷方式 whereBetween()和 whereNotBetween();
Db::name('user')->where('id','between','19,25')->select();
Db::name('user')->where('id','between',[19, 25])->select();
Db::name('user')->whereBetween('id','19,25')->select();
Db::name('user')->whereNotBetween('id','19,25')->select();
- in 表达式具有两个快捷方式 whereIn()和 whereNotIn();
Db::name('user')->where('id','in', '19,21,29')->select();
Db::name('user')->where('id','in', [19, 21, 29])->select();
Db::name('user')->whereIn('id','19,21,29')->select();
Db::name('user')->whereNotIn('id','19,21,29')->select();
- null 表达式具有两个快捷方式 whereNull()和 whereNotNull();
Db::name('user')->where('uid','null')->select();
Db::name('user')->where('uid','not null')->select();
Db::name('user')->whereNull('uid')->select();
Db::name('user')->whereNotNull('uid')->select();
三. EXP 查询
- 使用 exp 可以自定义字段后的 SQL 语句;
Db::name('user')->where('id','exp','IN (19,21,25)')->select();
Db::name('user')->whereExp('id','IN (19,21,25)')->select();