加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

tp5框架中查询表达式如何利用?

发布时间:2022-04-07 15:48:35 所属栏目:语言 来源:互联网
导读:这篇文章给大家分享的是关于tp5框架中查询表达式的用法,小编认为是比较实用的,因此分享给大家参考学习,文本示例具有一定的借鉴价值,感兴趣的朋友可以看看。 查询表达式 查询表达式支持大部分的SQL查询语法,也是ThinkPHP查询语言的精髓,查询表达式的使
       这篇文章给大家分享的是关于tp5框架中查询表达式的用法,小编认为是比较实用的,因此分享给大家参考学习,文本示例具有一定的借鉴价值,感兴趣的朋友可以看看。
 
       查询表达式
       查询表达式支持大部分的SQL查询语法,也是ThinkPHP查询语言的精髓,查询表达式的使用格式:
 
where('字段名','表达式','查询条件');
whereOr('字段名','表达式','查询条件');
       5.1还支持新的查询方法
 
whereField('表达式','查询条件');
whereOrField('表达式','查询条件');
Field使用字段的驼峰命名方式。
 
       表达式不分大小写,支持的查询表达式有下面几种:
 
表达式 含义 快捷查询方法
= 等于  
<> 不等于  
> 大于  
>= 大于等于  
< 小于  
<= 小于等于  
[NOT] LIKE 模糊查询 whereLike/whereNotLike
[NOT] BETWEEN (不在)区间查询 whereBetween/whereNotBetween
[NOT] IN (不在)IN 查询 whereIn/whereNotIn
[NOT] NULL 查询字段是否(不)是NULL whereNull/whereNotNull
[NOT] EXISTS EXISTS查询 whereExists/whereNotExists
[NOT] REGEXP 正则(不)匹配查询(仅支持Mysql)  
[NOT] BETWEEM TIME 时间区间比较 whereBetweenTime
> TIME 大于某个时间 whereTime
< TIME 小于某个时间 whereTime
>= TIME 大于等于某个时间 whereTime
<= TIME 小于等于某个时间 whereTime
EXP 表达式查询,支持SQL语法 whereExp
 
       表达式查询的用法示例如下:
 
       等于(=)
       例如:
 
Db::name('user')->where('id','=',100)->select();
       和下面的查询等效
 
Db::name('user')->where('id',100)->select();
       最终生成的SQL语句是:
 
SELECT * FROM `think_user` WHERE `id` = 100
       不等于(<>)
       例如:
 
Db::name('user')->where('id','<>',100)->select();
       最终生成的SQL语句是:
 
SELECT * FROM `think_user` WHERE `id` <> 100
       大于(>)
       例如:
 
Db::name('user')->where('id','>',100)->select();
       最终生成的SQL语句是:
 
SELECT * FROM `think_user` WHERE `id` > 100
       大于等于(>=)
 
SELECT * FROM `think_user` WHERE `name` LIKE 'thinkphp%'
       like查询支持使用数组
 
Db::name('user')->where('name','like',['%think','php%'],'OR')->select();
       实际生成的SQL语句为:
 
SELECT * FROM `think_user`
WHERE (`name` LIKE '%think' OR `name` LIKE 'php%')
       为了更加方便,应该直接使用whereLike方法
 
Db::name('user')->whereLike('name','thinkphp%')->select();
Db::name('user')->whereNotLike('name','thinkphp%')->select();
       [NOT] BETWEEN :同sql的[not] between
       查询条件支持字符串或者数组,例如:
 
Db::name('user')->where('id','between','1,8')->select();
       和下面的等效:
 
Db::name('user')->where('id','between',[1,8])->select();
       最终生成的SQL语句都是:
 
SELECT * FROM `think_user` WHERE `id` BETWEEN 1 AND 8
       最快捷的查询方法是:
 
Db::name('user')->whereBetween('id','1,8')->select();
Db::name('user')->whereNotBetween('id','1,8')->select(); 

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读