tp5查询
TP5的EXP、批量查询、聚合查询等。
<!--more--> //使用EXP条件表达式,表示后面是原生的SQL表达式
$result = Db::table('think_inno')->where('id','exp',"<10 and name='asd'")->select();
dump($result); //使用and和or进行混合查询
$result = Db::table('think_inno')
->where('name','like','%think%') //name类似%thinkphp%
->where('id',['in',[1,2,3]],['>=',1],'or') //id在1~3之间,或者id>=1
->limit(2)
->select(); //批量查询
$result = Db::table('think_inno') //批量查询
->where(['id' => [['in',[1,2,3]],['>=',1],'or'], 'name' => ['like','%think%']]) //(id在1~3中或者id>=1 )并且name类似think
->limit(10)
->select(); //快速查询
$result = Db::table('think_inno')->where('id&num','>',1)->select();
id&num表示and;id&num表示or; //关于视图
将查询的结果作为一张虚拟的表;TP里直接用Db::view来使用视图
$result = Db::view('think_inno','id,name')......; //think-inno为表名,id,name为要查的字段 //使用query对象
$query = new \think\db\Query;$query->table('think_inno')->where('name','like','think')->where('id','>=','3')->limit(10);
$result = Db::select($query);
print_r($result); //获取某列某行的某个值
$name = Db::table('think_inno')->where('id',10)->value('name');
print_r($name); //取到id为10的name字段的值 //获取某列column
$name = Db::table('think_inno')->where('status',1)->column('name');
//取出status为1对应name列的所有值
//获取某一行find //获取id键名的数据集
$name = Db::table('think_inno')->where('num',0)->column('*','id');
print_r($name); //聚合查询count、max、min、avg、sum
$count = Db::table('think_inno')->where('num',0)->count();//获取num为0的对应的数据量
$count = Db::table('think_inno')->where('num',2)->max('id');//获取num为2的最大的id
---------------------
作者:Ferre666
来源:CSDN
原文:https://blog.csdn.net/Ferre666/article/details/73636586
tp5查询的更多相关文章
- TP5 查询 字符串条件如何实现
TP5 查询 字符串条件如何实现 当查询条件是 (1,3,8) ,3,4) 这种情况改如何查询呢? 主要用到FIND_IN_SET $where[ ]=>['exp',Db::raw(& ...
- tp5 查询本年、本月、本周的方法
tp5自带了一些查询的方法,今天说一下查询本年.本月以及本周的方法 whereTime()//此方法代替了between and 方法 实际用法如下: ->whereTime('时间字段','y ...
- TP5 查询mysql数据库时的find_in_set用法
$where['class_id'] = ['in', '$cid_all']; $where['id'] = ['in', $all_user_id];//或这样子 $where['title'] ...
- tp5 查询单个字段的值
$num_lastday = Db::name('test_wx') ->where('num','=',$data['num']) ->order('time desc') ->l ...
- MySQL JOIN 连接时,条件为以逗号分隔的字段与 ID 相匹配
一.背景 有一张相片表,一张相片所属标签表,一张相片可以归属于多个标签,表结构如下: 现在需要通过一次查询,得到每一张照片对应的标签名称,标签名称之间以固定的分隔符连接,结果如下图: 二.查询语句 原 ...
- tp5闭包子查询传参方法
在channel表中查询status,channel_id,channel_name,account_level这些字段,且这些字段的channel_id不在adv_id为$id的表adv_chann ...
- 关于TP5的一对一、一对多同时存在的关联查询
主表SQL(tp_member) CREATE TABLE `tp_member` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id', `us ...
- tp5.0 模型查询数据的返回类型,分页
一开始用painate()这个函数的时候,发现有的查询方式不能使用这个函数,由此了解到了模型查询和普通查询返回类型的不同 1.原生查询方法 Db::query("select * from ...
- TP5 多条件whereOr查询
问题背景:最近在用ThinkPHP 5开发项目的过程中,发现根据筛选条件做or查询的时候,连贯操作不可以使用where进行条件查询了. 首先列出一个user数据表的信息: uid uname grad ...
随机推荐
- C++之struct
C++的struct对C做和很多补充,里面可以放函数(构造函数和虚函数),也可以同struct和class的继承,在C++中也完全可以替代class.他们之间的主要区别: 1 calss默认是私有继承 ...
- Zookeeper启动失败:java.net.BindException: Address already in use
错误日志如下: [hadoop@master zookeeper-3.4.5-cdh5.10.0]$ cat zookeeper.out 2018-05-15 01:29:21,036 [myid:] ...
- java 从List<Integer> 中随机获取6个数
List<Integer> list 为不重复的数字集合,例如:1,2,3,4,5,6,7,8,9,10 从中随机获取不重复的6个数.代码如下. List<Integer> l ...
- 数据库用户被锁怎么办,报the passord logon
–1.使用管理员用户登陆,查看用户状态: select username,account_status from dba_users; –2.修改用户状态: alter user base accou ...
- spring的工厂方法
http://blog.csdn.net/nvd11/article/details/51542360
- echarts的title和legend重合解决(各种小细节)
一:关于title与legend重叠 1.重合样子 2.解决办法: legend:{ show: true, top:"6%",//与上方的距离 可百分比% 可像素px }, 3. ...
- js 数组操作常用方法
push():在数组后面加入元素,并返回数组的长度: unshift():在数组前面就如元素,并返回数组的长度: pop():删除最后一个元素: var arr =[1,2,3,4,5] ; arr. ...
- Protocol Buffer学习教程之类库应用(四)
Protocol Buffer学习教程之类库应用(四) 此教程是通过一个简单的示例,给C++开发者介绍一下如何使用protocol buffers编程,主要包括以下几部分: 定义一个.proto文件 ...
- IDA逆向:结构体的逆向
源代码: int _tmain(int argc, _TCHAR* argv[]) { struct v1 { int a; short b; char c; int d; double e; }; ...
- PPII打不开 更改I.bat
http://jingyan.baidu.com/article/3a2f7c2e7d277126afd6118d.html