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实现将GB编码转换为UTF8
Nov 25 PHP
php面向对象全攻略 (十二) 抽象方法和抽象类
Sep 30 PHP
php中http_build_query 的一个问题
Mar 25 PHP
Symfony页面的基本创建实例详解
Jan 26 PHP
浅谈PHP中Stream(流)
Jun 08 PHP
使用Appcan客户端自动更新PHP版本号(全)
Jul 31 PHP
php自动识别文字编码并转换为目标编码的方法
Aug 08 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
Oct 11 PHP
使用PHP免费发送定时短信的实例
Oct 24 PHP
php分页查询的简单实现代码
Mar 14 PHP
Laravel中unique和exists验证规则的优化详解
Jan 28 PHP
PHP简单实现解析xml为数组的方法
May 02 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
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
图片Slider 带左右按钮的js示例
2013/08/30 Javascript
调整小数的格式保留小数点后两位
2014/05/14 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
2015/08/27 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
JQuery导航菜单选择特效
2016/04/11 Javascript
jquery结合html实现中英文页面切换
2016/11/29 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
javascript中的event loop事件循环详解
2018/12/14 Javascript
详解ES6中的Map与Set集合
2019/03/22 Javascript
详解小程序中h5页面onShow实现及跨页面通信方案
2019/05/30 Javascript
webpack4.0+vue2.0利用批处理生成前端单页或多页应用的方法
2019/06/28 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
2019/09/27 Javascript
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
2020/04/09 Javascript
带你了解python装饰器
2017/06/15 Python
简单的python协同过滤程序实例代码
2018/01/31 Python
python实现寻找最长回文子序列的方法
2018/06/02 Python
Windows下安装Scrapy
2018/10/17 Python
python利用7z批量解压rar的实现
2019/08/07 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
a标签下载链接的简单实现
2016/09/13 HTML / CSS
2014年两会学习心得范例
2014/03/17 职场文书
2014年售票员工作总结
2014/11/19 职场文书
大学生社会实践活动总结报告
2015/05/06 职场文书
文艺部部长竞选稿
2015/11/21 职场文书
SQL之各种join小结详细讲解
2021/08/04 MySQL
php双向队列实例讲解
2021/11/17 PHP
CSS3实现360度循环旋转功能
2022/02/12 HTML / CSS