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 相关文章推荐
Ajax PHP简单入门教程代码
Apr 25 PHP
php at(@)符号的用法简介
Jul 11 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
Feb 04 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
Mar 01 PHP
功能强大的PHP POST提交数据类
Jul 15 PHP
PHP基于SimpleXML生成和解析xml的方法示例
Jul 17 PHP
PHP批量删除jQuery操作
Jul 23 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
Oct 12 PHP
Laravel5.5 动态切换多语言的操作方式
Oct 25 PHP
PHP如何获取Cookie并实现模拟登录
Jul 16 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
Aug 24 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内置的字符串处理函数详解
2017/02/04 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
2019/08/14 PHP
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
js cookies 常见网页木马挂马代码 24小时只加载一次
2009/04/13 Javascript
JavaScript Date对象使用总结
2009/05/14 Javascript
利用js正则表达式验证手机号,email地址,邮政编码
2014/01/23 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
微信小程序模拟cookie的实现
2018/06/20 Javascript
Vue中的vue-resource示例详解
2018/11/02 Javascript
[35:26]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第三局
2016/02/26 DOTA
浅析Python中的join()方法的使用
2015/05/19 Python
Python之str操作方法(详解)
2017/06/19 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
python: line=f.readlines()消除line中\n的方法
2018/03/19 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
2018/10/11 Python
pycharm 取消默认的右击运行unittest的方法
2018/11/29 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
Python socket处理client连接过程解析
2020/03/18 Python
基于Python组装jmx并调用JMeter实现压力测试
2020/11/03 Python
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
2014/11/11 HTML / CSS
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
Airbnb爱彼迎官网:成为爱彼迎房东,赚取收入
2019/03/14 全球购物
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
商务考察邀请函模板
2015/02/02 职场文书
大一新生军训新闻稿
2015/07/17 职场文书
会议简讯范文
2015/07/20 职场文书
幼儿园教师管理制度
2015/08/05 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers
浅谈如何保证Mysql主从一致
2022/03/13 MySQL