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 相关文章推荐
如何开发一个虚拟域名系统
Oct 09 PHP
用PHP控制用户的浏览器--ob*函数的使用说明
Mar 16 PHP
实用函数2
Nov 08 PHP
php设置编码格式的方法
Mar 05 PHP
php实现简单洗牌算法
Jun 18 PHP
PHP单态模式简单用法示例
Nov 16 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
Jun 06 PHP
PHP判断一个变量是否为整数、正整数的方法示例
Sep 11 PHP
laravel 创建命令行命令的图文教程
Oct 23 PHP
Thinkphp 3.2框架使用Redis的方法详解
Oct 24 PHP
PHP实现一个按钮点击上传多个图片操作示例
Jan 23 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
DC游戏Steam周三特惠 《蝙蝠侠》阿卡姆系列平史低
2020/04/09 欧美动漫
深入PHP中的HashTable结构详解
2013/06/13 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
event.srcElement 用法笔记e.target
2009/12/18 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
2013/11/19 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
使用JavaScript获取电池状态的方法
2014/05/03 Javascript
js实现类似jquery里animate动画效果的方法
2015/04/10 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
js实现选中页面文字将其分享到新浪微博
2015/11/05 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
three.js中文文档学习之如何本地运行详解
2017/11/20 Javascript
vue中eventbus被多次触发以及踩过的坑
2017/12/02 Javascript
Vue绑定内联样式问题
2018/10/17 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
python处理PHP数组文本文件实例
2014/09/18 Python
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
详解C++编程中一元运算符的重载
2016/01/19 Python
Python对多属性的重复数据去重实例
2018/04/18 Python
为什么str(float)在Python 3中比Python 2返回更多的数字
2018/10/16 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
python 实现学生信息管理系统的示例
2020/11/28 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
Html5内唤醒百度、高德APP的实现示例
2019/05/20 HTML / CSS
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
仓库管理专业个人的自我评价
2013/12/30 职场文书
银行求职信怎么写
2014/05/26 职场文书
青奥会口号
2014/06/12 职场文书
2014年小学生教师节演讲稿范文
2014/09/10 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
2015年教师国培感言
2015/08/01 职场文书