Thinkphp6查询表达式

会飞的鱼 2022年4月8日 302阅读 0评论

比较查询

查询表达式支持大部分常用的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();
文章版权声明:除非注明,否则均为 会飞的鱼原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复:

目录[+]

取消
微信二维码
微信二维码
支付宝二维码