TP初心者はモデルのビューモデルについてあまり詳しくない人も多いですが、公式マニュアルには詳しいマニュアルがありますが、それでも初心者にはわかりにくいです。 !
ビュー モデルが実現できる機能について簡単に説明します。基本的には、メイン テーブルとセカンダリ テーブル間のフィールドの関連付けです。
ネイティブ SQL ステートメントを使用するよりも、複数テーブルの関連付けクエリを実装する方がはるかに簡単です。まず、データ テーブルを初期化するときに、以下に示すように、従来の M ('User') を使用する代わりに、D ('UserView') がビュー モデルで使用されます。
大文字にする必要がある主な点は、いくつかの単語の最初の文字です。
次に、Lib/Model ディレクトリに XXXViewModel.class.php という名前の新しいファイルを作成します (XXX は任意のコントローラー名/大文字です)。コンテンツの形式は次のとおりです。
関連するテーブルのデータが空の場合、システムはエラーを報告するため、すべての配列の後に '_type'=>'LEFT' を追加することをお勧めします。
まず、メイン テーブルには、customer 配列でクエリする必要があるフィールドが入力されます。内部の p_id と b_id は、関連付けられているテーブル設定のエイリアスです。実際、これは LeftJoin ステートメントに似ています。ネイティブ SQL で。
上の図に示すように、「_table」は関連付ける必要があるテーブルの名前を記述します。
テーブルの完全な名前を記述する必要があることに注意してください。 「_as」は付けるエイリアス、「name」は後で CURD 操作を実行するときに使用するフィールドです。
「_on」は、メインテーブルの関連付けられたID = セカンダリテーブル(エイリアスが使用されます)を実行します。それらが等しい場合、メインテーブルの特定のフィールドとセカンダリテーブルの特定のデータ。関連付けが行われた後、最終的に選択操作が起動され、関連付けられたコンテンツが表示されます。もちろん、これは通常、過度に複雑なテーブル データの関係を処理するために使用されます。たとえば、メイン テーブルが 10 を超える従属テーブルに関連付けられている場合、ビュー モデルを使用するときの心配は少なくなります。
これは基本的な関数の簡単な例であり、ここで基本的に説明されていますが、TP の初心者に役立つことを願っています。
thinkphp のビューモデルと関連モデルの違いは何ですか
http://www.bkjia.com/PHPjc/852745.html
www.bkjia.com
true