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 相关文章推荐
php快速url重写 更新版[需php 5.30以上]
Apr 20 PHP
php explode函数实例代码
Feb 27 PHP
php中如何使对象可以像数组一样进行foreach循环
Aug 09 PHP
PHP扩展程序实现守护进程
Apr 16 PHP
分享ThinkPHP3.2中关联查询解决思路
Sep 20 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
Dec 19 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
PHP实现简单计算器小程序
Aug 28 PHP
PHP+mysql实现的三级联动菜单功能示例
Feb 15 PHP
PHP的微信支付接口使用方法讲解
Mar 08 PHP
微信公众号之主动给用户发送消息功能
Jun 22 PHP
PHP实现简单注册登录系统
Dec 28 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 Mssql操作简单封装支持存储过程
2009/12/11 PHP
php递归函数三种实现方法及如何实现数字累加
2015/08/07 PHP
php遍历替换目录下文件指定内容的方法
2016/11/10 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
PHP使用mongoclient简单操作mongodb数据库示例
2019/02/08 PHP
ext 列表页面关于多行查询的办法
2010/03/25 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
jQuery实现的漂亮表单效果代码
2015/08/18 Javascript
node.js中 stream使用教程
2016/08/28 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
JavaScript使用FileReader实现图片上传预览效果
2020/03/27 Javascript
three.js加载obj模型的实例代码
2017/11/10 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
使用webpack打包后的vue项目如何正确运行(express)
2018/10/26 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
Python实现动态添加类的属性或成员函数的解决方法
2014/07/16 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
python logging模块书写日志以及日志分割详解
2019/07/22 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
使用Python刷淘宝喵币(低阶入门版)
2019/10/30 Python
python 二维矩阵转三维矩阵示例
2019/11/30 Python
NBA德国官方网上商店:NBA Store德国
2018/04/13 全球购物
高性能钓鱼服装:Huk Gear
2019/02/20 全球购物
zooplus意大利:在线宠物商店
2019/08/07 全球购物
材料员岗位职责
2014/03/13 职场文书
旅行社优秀创业计划书
2014/08/16 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书
基于flask实现五子棋小游戏
2021/05/25 Python
Feign调用传输文件异常的解决
2021/06/24 Java/Android
Mysql案例刨析事务隔离级别
2021/09/25 MySQL