thinkphp3.2框架中where条件查询用法总结


Posted in PHP onAugust 13, 2019

本文实例讲述了thinkphp3.2框架中where条件查询用法。分享给大家供大家参考,具体如下:

thinkphp3.2 where 条件查询

在连贯操作中条件where的操作有时候自己很晕,所以整理下,有助于使用

查询条件

支持的表达式查询,tp不区分大小写

含义 TP运算符 SQL运算符 例子 实际查询条件
等于 EQ = $where['id'] = array('EQ','1') id = 2
不等于 NEQ != $where['id'] = array('NEQ','1') id!=2
大于 GT > $where['id'] = array('GT','1') id >1
大于等于 EGT EGT $where['id'] = array('EGT','1') id>=1
小于 $where['id'] = array('lt',1) id
小于等于 $where['id'] = array('elt',1) id
匹配 like like where[′id′]=array(′like′,′where[′id′]=array(′like′,′where['id'] = array('like','begin%') $where['id'] = array('like','%begin%') where id like '%begin' where id like 'begin%' where id like'%begin%
在范围内包括俩端值 between 0 $where['id'] = array('between',array('0','10')) where id between 0 and 10
不在范围内 not between 0 >id and 1o $where['id'] = array('not between',array('0','10')) where id not between 0 and 10
在枚举的值中 in in $where['id'] = array('in',array('1','2','5')) where id in ('1','2','3')
不在枚举值中 not in not in $where['id'] = array('not in',array('1','2',5)) where id not in ('1','2','5')
exp 表达式查询,支持SQL语法

exp 是表达式的意思,如果你觉得对于一个值限制条件太多的话就可以用这个

$where['id'] = array('exp','in ( select id from id from tableb)');

复查的查询语句

有的时候,我们希望通过一次的查询就能解决问题,这个时候查询条件往往比较复杂,但是却比多次查询库来的高效。

实在是搞不定的话就直接用$where['_string'] = 'xxxx', 这个代表查询的时候拼接上 xxx 条件,一次性解决问题

$where['_string'] = 'left join A on A.id = b.id where a.id not in (select id from C)';

1. 区间查询(一个值得多种情况)

默认是 and

$where['id'] =array(array('neq','8'),array('elt','200'),'and'); // 小于等于200 不等于 8
$where['id'] = array(array('neq','8'),'array('neq','10')','or'); // 不等于8或者不等于10

2. 复合查询

相当于封装了新的查询条件在里面

$where['a'] = 5;
$where['b'] = 6;
$where['_logic'] = 'or';

sql:where a = 5 or b = 6;

$condition['c'] = '3';
$condition['d'] = '4'
$condition['_logic'] = 'or'
$where['a'] = 9;
$where['_complex'] = $condition;

sql: where a=9 and (c = 3 or d = 4)

根据需求,灵活使用(无限套下去)

3. sql 查询

如果有设置了读写分离的话 query 是查询 execute是更新保存

M()->query('select * from a');
M()->execute('update a set counts = 3 where id = 1103')

4. 获取要执行的sql 语句

有的时候条件太复杂,比如 id in(xxxxx),这个xxx就是通过一系列操作获得的结果,嫌麻烦的就直接 都扔进去,写sql 又长,就直接获取sql语句扔进去

1.fetchsql
2.buildsql
3.select(false)

M('user')->fetchsql(true)->select();
M('user')->buildsql();
M('user')->select(false);

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
用Flash图形化数据(二)
Oct 09 PHP
用DBSQL类加快开发MySQL数据库程序的速度
Oct 09 PHP
PHP通过COM使用ADODB的简单例子
Dec 31 PHP
基于PHP遍历数组的方法汇总分析
Jun 08 PHP
php 注册时输入信息验证器的实现详解
Jul 05 PHP
phpnow php探针环境检测代码
Nov 04 PHP
thinkphp模板用法和内容输出实例
Nov 28 PHP
win7系统配置php+Apache+mysql环境的方法
Aug 21 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
Dec 21 PHP
php mysql PDO 查询操作的实例详解
Sep 23 PHP
php无限极分类实现方法分析
Jul 04 PHP
PHP基于进程控制函数实现多线程
Dec 09 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
Aug 13 #PHP
php实现的表单验证类完整示例
Aug 13 #PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 #PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 #PHP
Laravel如何同时连接多个数据库详解
Aug 13 #PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
Aug 12 #PHP
php链式操作的实现方式分析
Aug 12 #PHP
You might like
PHP实现简单实用的验证码类
2015/07/29 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
基于PHP+mysql实现新闻发布系统的开发
2020/08/06 PHP
获取数组中最大最小值方法js代码(自写)
2013/08/12 Javascript
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
2015/07/28 Javascript
js实现简单秒表走动的时钟特效
2020/03/25 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
2019/11/07 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
Python实现备份文件实例
2014/09/16 Python
django 邮件发送模块smtp使用详解
2019/07/22 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
10个示例带你掌握python中的元组
2020/11/23 Python
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
爱游人:Travelliker
2017/09/05 全球购物
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
建筑实习自我鉴定
2013/10/18 职场文书
营销人才自我鉴定范文
2013/12/25 职场文书
学生打架检讨书
2014/02/14 职场文书
宿舍保安职务说明书
2014/02/25 职场文书
银行竞聘演讲稿范文
2014/04/23 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书
解除租房协议书
2014/12/03 职场文书
2015年医院科室工作总结范文
2015/05/26 职场文书
2019最新劳动仲裁申请书!
2019/07/08 职场文书
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电