この記事では、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"); }
ここでのテーブルの関連付けの違いは、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 サイトの他の関連記事を参照してください。