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 相关文章推荐
文件系统基本操作类
Nov 23 PHP
php程序之die调试法 快速解决错误
Sep 17 PHP
PHP逐行输出(ob_flush与flush的组合)
Feb 04 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
May 04 PHP
PHP中怎样防止SQL注入分析
Oct 23 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
Oct 24 PHP
php 类自动载入的方法
Jun 03 PHP
PHP实现通过正则表达式替换回调的内容标签
Jun 15 PHP
php中define用法实例
Jul 30 PHP
PHP解析url并得到url参数方法总结
Oct 11 PHP
Laravel框架表单验证操作实例分析
Sep 30 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实现的Cookies操作类实例
2014/09/24 PHP
laravel容器延迟加载以及auth扩展详解
2015/03/02 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
javascript 限制输入脚本大全
2009/11/03 Javascript
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
使用JavaScript switch case 另类写法
2010/03/14 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
JS实现简单的键盘打字的效果
2015/04/24 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
.vue文件 加scoped 样式不起作用的解决方法
2018/05/28 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python处理XML格式数据的方法详解
2017/03/21 Python
Python类的动态修改的实例方法
2017/03/24 Python
python写入并获取剪切板内容的实例
2018/05/31 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
python通过对字典的排序,对json字段进行排序的实例
2020/02/27 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
华为俄罗斯官方网上商城:购买Huawei手机和平板
2017/04/21 全球购物
生产主管岗位职责
2013/11/10 职场文书
工作表现评语
2014/01/19 职场文书
《一个中国孩子的呼声》教学反思
2014/02/12 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
会议室使用管理制度
2015/08/06 职场文书
保护环境建议书作文500字
2015/09/14 职场文书
用Python生成会跳舞的美女
2022/01/18 Python