私は Yii で遊んでいて、Yii Eager Loadingと遅延読み込みデータベース クエリで問題が発生しています。たとえば、次の 2 つの方法を比較します。
$comment = Comment::model()->with(array('issue'=>array('condition'=>'project_ id='.$projectId)))->findAll();
2a.
$comment = Comment::model()->findAll
2b. 問題を取得するには:
$issue = $comment->issues
(コメントモデルで「問題」関係を宣言していると仮定します)。
最初のアプローチの利点がわかりません。私が理解しているように、最初のコードはコメントのみを返しますが、get Issue クエリも実行します (2b コードのように)。ただし、最初のコードでコメントの問題を取得したい場合は、(「Eager Loading」を利用するより良い方法があるかどうかはわかりませんが) ご覧のとおり、次のコードも実行する必要があります。
3.
$comment ->issues
もしそうなら、私がゲストとして、イーガーローディングアプローチで2つのクエリを実行する必要があるため、「遅延ロード」よりも時間がかかります. 、2 回目は 3 番目のコードを実行します)。
それで、私のことを確認できますか、それが間違っている場合は、その効率を利用する Eager Loading アプローチからすべての問題を取得する方法を教えてください。