ホームページ  >  記事  >  バックエンド開発  >  thinkphpのマルチテーブル関連クエリの詳細説明

thinkphpのマルチテーブル関連クエリの詳細説明

小云云
小云云オリジナル
2018-01-06 16:01:031912ブラウズ

この記事では、thinkphp のマルチテーブル関連のクエリの詳細な例に関する関連情報を主に紹介します。この部分を理解して習得するのに役立つことを願っています。 。

thinkphp の複数テーブル関連のクエリの例の詳細な説明

バックエンド管理システムをプログラミングする場合、一般にフレームワークを使用してページを迅速に構築します。私が最近使用しているのは、thinkphp フレームワークです。フロントエンドとバックエンドの管理を分離します。フロントエンドのユーザー ログイン クエリ システムは thinkphp のホーム フォルダーで管理され、バックエンド管理システムは thinkphp の admin フォルダーで管理されます。ちなみに、thinkphp フレームワークを使用する場合、MVC アーキテクチャを使用する必要があります。MVC アーキテクチャは、モデル (データ モデル)、ビュー (ビュー)、コントローラー (コントローラー) の構造であり、ここでのインターフェイスはビューによって制御されます。 . コントロール コントローラーの機能はビューとコントローラーを管理することです。詳細な構造については、thinkphp のドキュメントを参照してください。

今日お話しするのは、バックエンド管理システムで発生するデータベース テーブルに対する相関クエリの適用です。

最初に話したいのは、thinkphp でのクエリ ステートメントの適用です。もちろん、これはデータ テーブルの単純なクエリではなく、複数のテーブル間の相関クエリです。データを相関させる方法は 2 つあります。 join メソッドと table メソッド。

1. まず、複数のテーブル間で関連するクエリを実行するための table メソッドが導入されます。その機能は、thinkphp の M モデルです。条件付き関連付けを実行するテーブルの場合、フィールドの関数は実際にはフィルタリング関数であり、テーブルを関連付けた後の結果が必要なデータ構造になるように、必要な情報または役立つ情報を出力できます。

public function orderList(){
   $User=M("t_order");
   /*两个表的关联查询得到等级值*/
   $userinfo = $User->table('t_order,t_commodity,t_user')->where('t_order.cname = t_commodity.cname and t_order.uname = t_user.uname ')->field('t_order_id,t_order.orderid,t_order.cname')->select();
   $this->assign("userInfo",$userinfo);
   $this->display("order-list");
}

2. join メソッドは、複数のテーブル間の関連付けクエリを実行します


ここでのテーブルの関連付けの違いは、join がテーブルを関連付けるために on を使用し、残りは実際には同じであることです。関連条件: フィールドはフィルタリングされた情報 (次のステップに役立つ情報)

public function getBanner(){
 $bannerid=1;
 $banner=M("banner_item");
 $result=$banner->join('image ON banner_item.img_id = image.id')->where("banner_item.banner_id=".$bannerid)->field("key_word,type,banner_id,url,from")->select();
 echo json_encode($result);
}

関連推奨事項:


YII2 マルチテーブル関連付けの使用方法の詳細な説明

join と joinwith in Yii2 複数テーブル関連のクエリの使用方法

thinkphp で複数テーブル関連のクエリを実装するためのコード例

以上がthinkphpのマルチテーブル関連クエリの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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