Heim >Backend-Entwicklung >PHP-Tutorial >Das ThinkPHP5-Framework implementiert einfach Batch-Abfragen

Das ThinkPHP5-Framework implementiert einfach Batch-Abfragen

不言
不言Original
2018-06-07 16:35:122283Durchsuche

In diesem Artikel wird hauptsächlich das ThinkPHP5-Framework zur Implementierung einfacher Batch-Abfragefunktionen vorgestellt und die Implementierungstechniken des ThinkPHP5-Frameworks mithilfe von nativen SQL-Anweisungsabfragen, Batch-Abfragen, schnellen Abfragen, Aggregatabfragen und anderen Vorgängen in Form von Beispielen analysiert Bedarf kann sich auf Folgendes beziehen

Das Beispiel in diesem Artikel beschreibt, wie das ThinkPHP5-Framework eine einfache Batch-Abfragefunktion implementiert. Teilen Sie es allen als Referenz mit. Die Details lauten wie folgt:

TP5s EXP, Batch-Abfrage, Aggregatabfrage usw.

<!--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

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Bitte achten Sie auf die chinesische PHP-Website!

Verwandte Empfehlungen:

Das ThinkPHP3.2-Framework verwendet addAll(), um Daten stapelweise einzufügen.

Das ThinkPHP-Framework implementiert Session Cross -Domain-Probleme

Das obige ist der detaillierte Inhalt vonDas ThinkPHP5-Framework implementiert einfach Batch-Abfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn