ThinkPHP5 ユニオン (関連付け) クエリ、複数条件クエリ、集計クエリの詳細な例

不言
リリース: 2023-03-25 10:38:01
オリジナル
5243 人が閲覧しました

この記事では、主に ThinkPHP5 の結合 (関連付け) クエリ、複数条件クエリ、および集計クエリを紹介し、thinkPHP5 の一般的なクエリ操作テクニックをサンプルの形でまとめて分析しています。結合 (関連付け) クエリとクエリ、複数条件クエリ、および集計クエリ。参考のために皆さんと共有してください。詳細は次のとおりです:

1. 結合 (関連) クエリ 1. プロジェクト テーブル

DROP TABLE IF EXISTS `darling_project`;
CREATE TABLE `darling_project` (
 `project_id` int(32) NOT NULL AUTO_INCREMENT,
 `project_name` varchar(20) NOT NULL,
 `create_time` int(32) NOT NULL,
 PRIMARY KEY (`project_id`),
 UNIQUE KEY `project_id` (`project_id`),
 UNIQUE KEY `project_name` (`project_name`)
);
ログイン後にコピー

2. バージョン番号テーブル

DROP TABLE IF EXISTS `darling_version`;
CREATE TABLE `darling_version` (
 `version_id` int(32) NOT NULL AUTO_INCREMENT,
 `project_id` int(32) NOT NULL,
 `version_name` varchar(128) NOT NULL,
 `create_time` int(32) NOT NULL,
 PRIMARY KEY (version_id),
 UNIQUE KEY `version_id` (`version_id`)
);
ログイン後にコピー

3. 結合クエリ

$where=array(
  "version_id"=>$_POST['version_id']
);
$Project_version = model('Project')->join("darling_version","darling_version.project_id = darling_project.project_id")->where($where)->find();
ログイン後にコピー

2. 複数条件クエリ方法 1:

クエリ条件を where 関数のパラメータとして配列に入力します。ただし、より大きな条件パラメータがある場合は、これより小さいか小さい場合、配列に値を割り当てることはできません。 R 例 1: re

$where=array(
  "version_name"=>$version_name,
  "project_name"=>$project_name
);
$userdata=$this->where($where)->find();
ログイン後にコピー
E

例 2:

$where=array(
   "version_name"=>$version_name,
   "project_name"=>$project_name
);
$userdata=$this->where($where)->select();
ログイン後にコピー
E

例 3:

$where=array(
  "version_id"=>$version_id
);
$version_name = model("Version")->where($where)->field("version_name")->find();
ログイン後にコピー
E

方法 2:

複数の SQL クエリ ステートメントを where パラメーターとして使用し、より大きい値をサポートするようにします。この条件以下です。

rreee

method3:sql Queryステートメントは複数の機能であり、最新のアップグレードを返すことができます。ただし、レコード全体のフィールドではなく、create_time フィールドのみが返されます。

$package = model('admin/Package')
->where("project_id=".$Project_version['project_id']." and version_id=".$Project_version['version_id']." and status>1")
->order('create_time desc')
->find();
ログイン後にコピー

2. したがって、以下を使用して、最後に挿入されたレコードを検索し、最初に順序ソートを実行してから、最初のレコードを検索します。

$package = model('admin/Package')
->where("project_id=".$Project_version['project_id'])
->where("version_id=".$Project_version['version_id'])
->where("status>1")
->order('create_time desc')
->find();
ログイン後にコピー

関連推奨事項:

PDO方式に基づくThinkPHPフレームワーク接続データベース操作例

ThinkPHPフレームワークの分散データベース接続方式の詳細説明

ThinkPHPの簡単な実装方法複数のサブクエリステートメント

以上がThinkPHP5 ユニオン (関連付け) クエリ、複数条件クエリ、集計クエリの詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!