ホームページ >バックエンド開発 >PHPチュートリアル >Yii2 は ID を名前に変換するために GridView の列をクエリする必要がありますか?
1. Yii2 ActiveDataProvider には独自のページング機能があります。リストで ActiveDataProvider を使用する場合、通常は便宜上、GridView の列で直接クエリを実行して ID を変換します。ただし、このアプローチはデバッグをチェックするときに同じステートメントが複数回実行されるため、効率に影響します。これはYii2の使用仕様上間違っているのでしょうか?
2. GridView の列をクエリして ID を名前に変換しない場合、どう対処すればよいでしょうか? ID を GridView に渡す前に、マルチテーブル関連付けクエリを使用して ID を名前に変換することは良い考えですか?
1. Yii2 ActiveDataProvider には独自のページング機能があります。リストで ActiveDataProvider を使用する場合、通常は便宜上、GridView の列で直接クエリを実行して ID を変換します。ただし、このアプローチはデバッグをチェックするときに同じステートメントが複数回実行されるため、効率に影響します。これはYii2の使用仕様上間違っているのでしょうか?
2. GridView の列をクエリして ID を名前に変換しない場合は、どう対処すればよいでしょうか? ID を GridView に渡す前に、マルチテーブル関連付けクエリを使用して ID を名前に変換することは良い考えですか?
2 つの方法の組み合わせ:
ActiveDataProvider を構築するときに、with() を追加します。例:
リーリーこの方法では、ストア テーブルの内容が結果セットに含まれるため、繰り返しクエリを実行する必要はありません
。これは本当に避けられません。memcache を有効にし、結果を事前にメモリに保存することで、データベースの負荷を効果的に軽減することもできます。