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 相关文章推荐
$_GET['goods_id']+0 的使用详解
Jun 06 PHP
单点登录 Ucenter示例分析
Oct 29 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
Dec 20 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
php检查是否是ajax请求的方法
Apr 16 PHP
php中关于socket的系列函数总结
May 18 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
Dec 06 PHP
php实现的简单中文验证码功能示例
Jan 03 PHP
php使用Jpgraph创建折线图效果示例
Feb 15 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
Mar 28 PHP
centos7上编译安装php7以php-fpm方式连接apache
Nov 08 PHP
PHP const定义常量及global定义全局常量实例解析
May 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中几种常见安全设置详解
2010/04/06 PHP
PHP中使用smarty生成静态文件的例子
2014/04/24 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
2015/03/16 PHP
php链表用法实例分析
2015/07/09 PHP
WordPress中获取所使用的模板的页面ID的简单方法
2015/12/31 PHP
jquery 日期分离成年月日的代码
2010/05/14 Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
2011/04/26 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
js onclick事件传参讲解
2013/11/06 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
jquery动态添加option示例
2013/12/30 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
2015/03/04 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
jQuery+css实现炫目的动态块漂移效果
2016/01/28 Javascript
vue.js将unix时间戳转换为自定义时间格式
2017/01/03 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
2019/04/18 Javascript
Python中os.path用法分析
2015/01/15 Python
JSONLINT:python的json数据验证库实例解析
2017/11/28 Python
Python实现动态添加属性和方法操作示例
2018/07/25 Python
Python实现的爬取豆瓣电影信息功能案例
2019/09/15 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
2020/02/21 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
h5实现获取用户地理定位的实例代码
2017/07/17 HTML / CSS
Expedia马来西亚旅游网站:廉价酒店,度假村和航班预订
2016/07/26 全球购物
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
二年级语文教学反思
2014/02/02 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
《他得的红圈圈最多》教学反思
2014/04/24 职场文书
特岗教师个人总结
2015/02/10 职场文书
Go 语言结构实例分析
2021/07/04 Golang
SQL Server表分区降低运维和维护成本
2022/04/08 SQL Server