ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP で一般的に使用されるクエリ言語

ThinkPHP で一般的に使用されるクエリ言語

不言
不言オリジナル
2018-06-08 10:01:031337ブラウズ

この記事では、ThinkPHP でよく使われるクエリ言語の概要を紹介します。プロジェクト開発で非常に実用的です。

#この記事では、ThinkPHP で一般的に使用されるクエリ言語の例をまとめましたので、参考にしてください。皆さんの ThinkPHP 開発に何らかの助けをもたらすことができると信じています。詳細は次のとおりです。

1. 通常のクエリ:

クエリに where 条件などを組み込む場合、少なくとも 3 つの形式があります

1. 文字列形式:

&#39;id>5 and id<9&#39;

2. 配列形式:

サンプル コードは次のとおりです:

$user=M(&#39;user&#39;);
$data[&#39;username&#39;]=&#39;liwenkai&#39;;
$list=$user->where(array(&#39;username&#39;=>&#39;liwenkai&#39;))->select();
$list=$user->where($data)->select();

3. オブジェクト形式:

サンプル コードは次のとおりです。

$user=M(&#39;user&#39;);
$a=new stdClass();
$a->username=&#39;liwenkai&#39;;
$list=$user->where($a)->select();

4. クエリ式:

EQ

NEQ と等しくすることはできません
GT
EG より大きくてもよい
EG
LT
未満でもよい ELT
LIKE 以下と同等
[NOT] SQL の BETWEEN
一般的に使用される形式:

$data[&#39;字段名&#39;]=array(&#39;是表达式&#39;,&#39;查询条件&#39;);

さらに

$data[&#39;liwenkai&#39;]=&#39;liwenkai&#39;;

実際には

$data[&#39;liwenkai&#39;]=array(&#39;eq&#39;,&#39;liwenkai&#39;);

と同等です。例は次のとおりです。

$data[&#39;username&#39;]=array(&#39;like&#39;,&#39;peng%&#39;);
$list=$user->where($data)->select();

# # 2. 間隔クエリ:

例は次のとおりです:##

$user=M(&#39;user&#39;);
$data[&#39;id&#39;]=array(array(&#39;gt&#39;,20),array(&#39;lt&#39;,23),&#39;and&#39;);
$list=$user->where($data)->select();
dump($list);

#
$data[&#39;username&#39;]=array(array(&#39;like&#39;,&#39;p%&#39;),array(&#39;like&#39;,&#39;h%&#39;),&#39;or&#39;);

#3. 結合クエリ:

#例は次のとおりです:

#
$user=M(&#39;user&#39;);
$data[&#39;username&#39;]=&#39;pengyanjie&#39;;
$data[&#39;password&#39;]=array(&#39;eq&#39;,&#39;pengyanjie&#39;);
$data[&#39;id&#39;]=array(&#39;lt&#39;,30);
$data[&#39;_logic&#39;]=&#39;or&#39;;
$list=$user->where($data)->select();
dump($list);

##4。 :

例: 次のように:

$user=M(&#39;user&#39;);
$data[&#39;username&#39;]=array(&#39;eq&#39;,&#39;pengyanjie&#39;);
$data[&#39;password&#39;]=array(&#39;like&#39;,&#39;p%&#39;);
$data[&#39;_logic&#39;]=&#39;or&#39;;
$where[&#39;_complex&#39;]=$where;
$where[&#39;id&#39;]=array(&#39;lt&#39;,30);
$list=$user->where($data)->select();
dump($list);

(id<30)and ( (username=pengyanjie) or (password like p%) )

# と同等です。

## 5. 統計クエリ:

例は次のとおりです:

echo $user->count();
echo &#39;<br>&#39;;
echo $user->max(&#39;id&#39;);
echo &#39;<br>&#39;;
echo $user->where(&#39;id<30&#39;)->min(&#39;id&#39;);
echo &#39;<br>&#39;;
echo $user->avg(&#39;id&#39;);
echo &#39;<br>&#39;;
echo $user->sum(&#39;id&#39;);

6位置決めクエリ:

例は次のとおりです:

$user=new AdvModel(&#39;user&#39;);//实例化高级模型AdvModel
//$user=M(&#39;user&#39;,&#39;CommonModel&#39;);//或者将AdvModel用CommonModel来继承
$list=$user->order(&#39;id desc&#39;)->getN(2);//返回结果中的第三条
dump($list);

$list=$user->order(&#39;id desc&#39;)->last();//返回最后一条
$list=$user->order(&#39;id desc&#39;)->first();//返回第一条

7. SQL クエリ:

1.excute() は主に更新と書き込みに使用されます:

$Model = new Model() // 实例化一个 model 对象  没有对应任何数据表
$Model->execute( "update think_user set name=&#39;thinkPHP&#39; where status=1" );

2.query()主にクエリに使用されます:

$user=M();
$list=$user->query(&#39;select * from aoli_user order by id desc&#39;);
dump($list);

##8. 動的クエリ

例は次のとおりです:

$user=M(&#39;user&#39;);
$list=$user->getByusername(&#39;pengyanjie&#39;);
$list=$user->getByusername(&#39;pengyanjie&#39;);
dump($list);

$user=new AdvModel(&#39;user&#39;);
$list=$user->top5();//前5条
dump($list);

以上がこの記事の全内容であり、皆様の学習のお役に立てば幸いです。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。

関連する推奨事項:

thinkPHP フレームワークでネイティブ SQL ステートメントを実行する方法

ThinkPHP はデータベース クエリ結果データの変換を実装します対応するタイプ


#

以上がThinkPHP で一般的に使用されるクエリ言語の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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