Thinkphp6查询表达式
0
4319
2022年4月8日
比较查询
查询表达式支持大部分常用的SQL语句,语法格式如下:
where('字段名','查询表达式','查询条件');
在查询数据时,使用where()方法
Db::name('user')->where('id',14)->find();
Db::name('user')->where('id,'=',14)->find();
可以使用<>
、>
、<
、>=
、<=
筛选出各种比较值的数据
区间查询
使用like表达式进行模糊查询
Db::name('user')->where('email','like','zqx%')->find();
like表达式支持数组传递进行模糊查询
Db::name('user')->where('email','like',['tl%','zqx%'],'or')->select();
like表达式可以使用whereLike()和whereNoLike()
使用whereLike()方法
Db::name('user')->whereLike('email','zqx%')->find();
使用whereNotLike()方法
Db::name('user')->whereNotLike('email','zqx%')->select();
between表达式可以用来进行区间查询
Db::name('user')->where('price',70)->select();
Db::name('user')->where('price','between',[30,70])->select();
between表达式有两种方式whereBetween()和whereNotBetween()
使用whereBetween()方法
Db::name('user')->whereBetween('price','30,70')->find();
使用whereNotBetween()方法
Db::name('user')->whereNotBetween('price','30,70')->find();
In表达式可以用来进行IN查询
Db::name('user')->where('price','in',[60,70,80])->find();
Db::name('user')->where('price','in','60,70,80')->find();
In表达式有两种方式whereIn()和whereNotIn()
使用whereIn()
Db::name('user')->whereIn('price','60,70,80')->select();
使用whereNoIn
Db::name('user')->whereNotIn('price','60,70,80')->select();
null表达式可以查询字段是否(不)是Null
Db::name('user')->where('pass','null')->select();
Db::name('user')->where('pass','not null')->select();
null表达式有两种方式whereNull()和whereNotNull()
Db::name('user')->whereNull('pass')->select();
Db::name('user')->whereNotNull('pass')->select();
EXP查询
使用exp可以自定义字段后的SQL语句
Db::name('user')->where('price','exp','between 30 and 70')->select();
exp表达式的方法:whereExp()
Db::name('user')->whereExp('price','in(70,80)')->select();
这个主题简介啊