Home >Backend Development >PHP Tutorial >ThinkPHP5 framework simply implements batch query

ThinkPHP5 framework simply implements batch query

不言
不言Original
2018-06-07 16:35:122329browse

This article mainly introduces the ThinkPHP5 framework to implement simple batch query functions, and analyzes the thinkPHP5 framework's operation implementation techniques using native SQL statement query, batch query, fast query, aggregate query and other operations in the form of examples. Friends in need can refer to the following

The example in this article describes how the ThinkPHP5 framework implements a simple batch query function. Share it with everyone for your reference, the details are as follows:

TP5’s EXP, batch query, aggregate query, etc.

<!--more-->
//使用EXP条件表达式,表示后面是原生的SQL表达式
$result = Db::table(&#39;think_inno&#39;)->where(&#39;id&#39;,&#39;exp&#39;,"<10 and name=&#39;asd&#39;")->select();
dump($result);
//使用and和or进行混合查询
$result = Db::table(&#39;think_inno&#39;)
->where(&#39;name&#39;,&#39;like&#39;,&#39;%think%&#39;)   //name类似%thinkphp%
->where(&#39;id&#39;,[&#39;in&#39;,[1,2,3]],[&#39;>=&#39;,1],&#39;or&#39;)  //id在1~3之间,或者id>=1
->limit(2)
->select();
//批量查询
$result = Db::table(&#39;think_inno&#39;)  //批量查询
->where([&#39;id&#39; => [[&#39;in&#39;,[1,2,3]],[&#39;>=&#39;,1],&#39;or&#39;], &#39;name&#39; => [&#39;like&#39;,&#39;%think%&#39;]]) //(id在1~3中或者id>=1 )并且name类似think
->limit(10)
->select();
//快速查询
$result = Db::table(&#39;think_inno&#39;)->where(&#39;id&num&#39;,&#39;>&#39;,1)->select();
id&num表示and;id&num表示or;
//关于视图
将查询的结果作为一张虚拟的表;TP里直接用Db::view来使用视图
$result = Db::view(&#39;think_inno&#39;,&#39;id,name&#39;)......;  //think-inno为表名,id,name为要查的字段
//使用query对象
$query = new \think\db\Query;$query->table(&#39;think_inno&#39;)->where(&#39;name&#39;,&#39;like&#39;,&#39;think&#39;)->where(&#39;id&#39;,&#39;>=&#39;,&#39;3&#39;)->limit(10);
$result = Db::select($query);
print_r($result);
//获取某列某行的某个值
$name = Db::table(&#39;think_inno&#39;)->where(&#39;id&#39;,10)->value(&#39;name&#39;);
print_r($name); //取到id为10的name字段的值
//获取某列column
$name = Db::table(&#39;think_inno&#39;)->where(&#39;status&#39;,1)->column(&#39;name&#39;);
//取出status为1对应name列的所有值
//获取某一行find
//获取id键名的数据集
$name = Db::table(&#39;think_inno&#39;)->where(&#39;num&#39;,0)->column(&#39;*&#39;,&#39;id&#39;);
print_r($name);
//聚合查询count、max、min、avg、sum
$count = Db::table(&#39;think_inno&#39;)->where(&#39;num&#39;,0)->count();//获取num为0的对应的数据量
$count = Db::table(&#39;think_inno&#39;)->where(&#39;num&#39;,2)->max(&#39;id&#39;);//获取num为2的最大的id

The above is the entire content of this article. I hope it will be helpful to everyone’s study. For more related content, please pay attention to the PHP Chinese website !

Related recommendations:

ThinkPHP3.2 framework uses the addAll() method to insert data in batches

ThinkPHP framework implements session Cross-domain issues

The above is the detailed content of ThinkPHP5 framework simply implements batch query. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn