ホームページ  >  記事  >  バックエンド開発  >  thinkphp で複数テーブル関連のクエリを実装するコード例

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

黄舟
黄舟オリジナル
2017-10-13 09:27:181577ブラウズ

この記事では、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);
}

以上がthinkphp で複数テーブル関連のクエリを実装するコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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