tp5查询

TP5的EXP、批量查询、聚合查询等。
 
 

 1 <!--more-->
 2  
 3  
 4 //使用EXP条件表达式,表示后面是原生的SQL表达式
 5 $result = Db::table('think_inno')->where('id','exp',"<10 and name='asd'")->select();
 6 dump($result);
 7  
 8 //使用and和or进行混合查询
 9 $result = Db::table('think_inno')
10 ->where('name','like','%think%')        //name类似%thinkphp%
11 ->where('id',['in',[1,2,3]],['>=',1],'or')    //id在1~3之间,或者id>=1
12 ->limit(2)
13 ->select();
14  
15  
16 //批量查询
17 $result = Db::table('think_inno')   //批量查询
18 ->where(['id' => [['in',[1,2,3]],['>=',1],'or'], 'name' => ['like','%think%']]) //(id在1~3中或者id>=1 )并且name类似think
19 ->limit(10)
20 ->select();
21  
22 //快速查询
23 $result = Db::table('think_inno')->where('id&num','>',1)->select();
24 id&num表示and;id&num表示or;
25  
26 //关于视图
27 将查询的结果作为一张虚拟的表;TP里直接用Db::view来使用视图
28 $result = Db::view('think_inno','id,name')......;    //think-inno为表名,id,name为要查的字段
29  
30 //使用query对象
31 $query = new \think\db\Query;$query->table('think_inno')->where('name','like','think')->where('id','>=','3')->limit(10);
32 $result = Db::select($query);
33 print_r($result);
34  
35 //获取某列某行的某个值
36 $name = Db::table('think_inno')->where('id',10)->value('name');
37 print_r($name);    //取到id为10的name字段的值
38  
39 //获取某列column
40 $name = Db::table('think_inno')->where('status',1)->column('name');
41 //取出status为1对应name列的所有值
42 //获取某一行find
43  
44 //获取id键名的数据集
45 $name = Db::table('think_inno')->where('num',0)->column('*','id');
46 print_r($name);
47  
48 //聚合查询count、max、min、avg、sum
49 $count = Db::table('think_inno')->where('num',0)->count();//获取num为0的对应的数据量
50 $count = Db::table('think_inno')->where('num',2)->max('id');//获取num为2的最大的id

 


---------------------
作者:Ferre666
来源:CSDN
原文:https://blog.csdn.net/Ferre666/article/details/73636586

posted @ 2018-11-22 15:19  泡椒味的不二家  阅读(374)  评论(0编辑  收藏  举报