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