php - N+1クエリ質問を回避するために最適化されたクエリを備えたYiiリレーショナルテーブル
阿神
阿神 2017-06-10 09:47:45
0
2
1257

例: 特定の投稿の詳細ページ
詳細ページには多くの関連付けがありますコメント テーブル
コメント テーブルには 1 つの関連付けがありますユーザー テーブル
ユーザー テーブル 関連付けが 1 つありますユーザー データ テーブル

その後、コメント リストについては、 with('author') 関連付けを通じて user テーブル をクエリすることができ、N 1 クエリを回避できます

しかし、現時点では、ユーザー テーブル関連付けクエリユーザー データ テーブルを通じて、まだ N 1 クエリです。

ユーザー テーブルユーザー データ テーブルを一度に関連付けるにはどうすればよいですか?

阿神
阿神

闭关修行中......

全員に返信(2)
学霸

コメント関連ユーザー: getAuthor
ユーザー関連ユーザーデータ: getAuthorname
は('author.authorname')で取得できます。
例を見たい場合は、このビデオの章で、マルチレイヤー関連付けからのデータの取得についてのみ説明します。

いいねを押す +0
世界只因有你

以前 ActiveRecord を使用していたときは、モデル ファイルをあちこち変更するのが面倒で、ネイティブ SQL を使用していました。パフォーマンスは良好です。LEFT JOIN 関連付けで十分です。findBySQL() を使用して確認してください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート