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 相关文章推荐
基于mysql的论坛(5)
Oct 09 PHP
php 删除cookie和浏览器重定向
Mar 16 PHP
php zip文件解压类代码
Dec 02 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
May 10 PHP
thinkphp中session和cookie无效的解决方法
Dec 19 PHP
php支付宝手机网页支付类实例
Mar 04 PHP
PHP实现清除wordpress里恶意代码
Oct 21 PHP
php创建无限级树型菜单
Nov 05 PHP
php上传图片生成缩略图(GD库)
Jan 06 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
PHP常见数组排序方法小结
Aug 20 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框架的性能
2008/01/10 PHP
php简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
php 批量替换程序的具体实现代码
2013/10/04 PHP
thinkphp中html:list标签传递多个参数实例
2014/10/30 PHP
php强制运行广告的方法
2014/12/01 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
PHP判断表达式中括号是否匹配的简单实例
2016/10/22 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
php-fpm中max_children的配置
2019/03/15 PHP
js用闭包遍历树状数组的方法
2014/03/19 Javascript
JavaScript提高网站性能优化的建议(二)
2016/07/24 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
AngularJS入门教程之过滤器详解
2016/08/19 Javascript
Html中 IFrame的用法及注意点
2016/12/22 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
JS+Canvas实现五子棋游戏
2020/08/26 Javascript
python下MySQLdb用法实例分析
2015/06/08 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
python 爬虫 批量获取代理ip的实例代码
2018/05/22 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
Python开发网站目录扫描器的实现
2019/02/21 Python
Windows10+anacond+GPU+pytorch安装详细过程
2020/03/24 Python
Python如何使用vars返回对象的属性列表
2020/10/17 Python
Python numpy大矩阵运算内存不足如何解决
2020/11/19 Python
ECHT官方网站:男女健身服
2020/02/14 全球购物
介绍一下linux的文件系统
2012/03/20 面试题
什么是GWT的Module
2013/01/20 面试题
期末评语大全
2014/05/04 职场文书
地下停车场租赁协议范本
2014/10/07 职场文书
公司租房协议书范本
2014/10/08 职场文书
2014年精神文明工作总结
2014/12/23 职场文书
幼儿园中班教学反思
2016/03/03 职场文书
怎样写工作总结啊!
2019/06/18 职场文书
超外差式晶体管收音机的组装与统调
2021/04/22 无线电
Python获取字典中某个key的value
2022/04/13 Python