Maison >développement back-end >tutoriel php >Le framework ThinkPHP5 implémente simplement une requête par lots

Le framework ThinkPHP5 implémente simplement une requête par lots

不言
不言original
2018-06-07 16:35:122282parcourir

Cet article présente principalement le framework ThinkPHP5 pour implémenter des fonctions de requête par lots simples et analyse les techniques d'implémentation du framework thinkPHP5 à l'aide d'une requête d'instruction SQL native, d'une requête par lots, d'une requête rapide, d'une requête agrégée et d'autres opérations sous forme d'exemples. besoin peut se référer à ce qui suit

L'exemple de cet article décrit comment le framework ThinkPHP5 implémente une simple fonction de requête par lots. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

EXP de TP5, requête par lots, requête globale, 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

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun pour en savoir plus. contenu, veuillez faire attention au site Web chinois PHP !

Recommandations associées :

Le framework ThinkPHP3.2 utilise addAll() pour insérer des données par lots

Le framework ThinkPHP implémente la session Cross -problèmes de domaine

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn