ホームページ  >  記事  >  バックエンド開発  >  Yii2 は ID を名前に変換するために GridView の列をクエリする必要がありますか?

Yii2 は ID を名前に変換するために GridView の列をクエリする必要がありますか?

WBOY
WBOYオリジナル
2016-08-18 09:15:44947ブラウズ

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 つの方法の組み合わせ:

  1. ActiveDataProvider を構築するときに、with() を追加します。例:

    リーリー

この方法では、ストア テーブルの内容が結果セットに含まれるため、繰り返しクエリを実行する必要はありません

  1. これは本当に避けられません。memcache を有効にし、結果を事前にメモリに保存することで、データベースの負荷を効果的に軽減することもできます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。