ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP ビュークエリ詳細説明_PHP チュートリアル
ThinkPHP が提供するビュー クエリ アプリケーション機能は非常に強力です。ユーザーはビュー クエリ機能を使用して、必要に応じて複数のデータ テーブルのフィールドの内容を指定およびフィルターし、これらのデータ テーブルに基づいてビュー モデルに編成し、直接使用できます。複数のテーブルに対して結合クエリを実行するのは非常に便利で簡単です。
たとえば、プロジェクトでは、次の 3 つのテーブルを定義します。
user ユーザーベーステーブル、
user_info ユーザー詳細テーブル、
部 部門分類表
この情報には、ユーザーのアカウント名と関連情報、部門名が含まれる必要があります。
現時点では、ビュー クエリを使用して処理できます。
1. 新しいプロジェクトをビルドし、関連する設定を実行します (前のチュートリアルを参照してください。ここでは省略します)
2. データベース tpview を作成し、これら 3 つのテーブルを追加します
(1) ユーザーテーブル
リーリー
リーリー
リーリー
などのテストを単純に定義するだけで済みます。
リーリー
4. ビューモデルを作成します。コードは次のとおりです。詳細な注釈は以下に示されています。
(注: 最新の svn では動的拡張モデル機能が追加されました。新しいバージョンを使用するには、protected 属性を public 属性に変更する必要があります。動的拡張機能を使用して、継承メソッドの代わりにビュー クエリを使用することをお勧めします。このチュートリアルでは、より柔軟になります。)
リーリー
上記のコードは次のように説明されます:
コードの 3 行目で、モデル名は UserViewModel として定義されています。ビュー モデル Model の前の名前は任意であり、通常は xxxViewModel などの名前を付けます。また、ViewModel を継承する必要があります。 (ThinkPHP バージョン 1.6 では、モデルの viewModel 属性を true に設定する必要はなくなりました。ViewModel を継承するだけです)
コードの 4 行目の $viewFields 属性は、ビュー モデルに含まれるフィールドを表します。各要素は、各データ テーブルまたはモデルに必要なフィールドを定義します。
形式はです
リーリー
コードの 7 行目の「name」=>「dept」に注目してください。User モデルにはすでに name フィールドがあるため、この方法で Dept モデルの name フィールドを dept フィールドにマッピングします。同じ方法でさらにフィールドを追加できます。
次に、操作にアクセスすると、必要なクエリのコンテンツが正常に取得されたことがわかります。
そして、SQL が次のように使用されていることがわかります
ビューモデルのクエリモデルは、通常の単一テーブルとあまり変わりません
http://www.bkjia.com/PHPjc/824730.html
www.bkjia.com