ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP5 フレームワークはバッチ クエリを実装するだけです

ThinkPHP5 フレームワークはバッチ クエリを実装するだけです

不言
不言オリジナル
2018-06-07 16:35:122256ブラウズ

この記事では、主に単純なバッチ クエリ関数を実装するための ThinkPHP5 フレームワークを紹介し、ネイティブ SQL ステートメント クエリ、バッチ クエリ、高速クエリ、集計クエリ、およびその他の操作を使用した thinkPHP5 フレームワークの操作実装テクニックを例の形式で分析します。必要な場合は、次を参照してください。

この記事の例では、ThinkPHP5 フレームワークが単純なバッチ クエリ関数を実装する方法について説明します。参考までに皆さんと共有してください。詳細は次のとおりです:

TP5 の EXP、バッチ クエリ、集計クエリなど。

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

以上がこの記事の全内容です。その他の関連コンテンツについては、こちらをご覧ください。 PHP 中国語 Web サイトにご注意ください。

関連する推奨事項:

ThinkPHP3.2 フレームワークは、addAll() メソッドを使用してデータをバッチに挿入します

ThinkPHP フレームワークセッションの実装 クロスドメインの問題

以上がThinkPHP5 フレームワークはバッチ クエリを実装するだけですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。