-1

カスタム エンティティからエンティティ ID を取得するには、entity_load または EntityFieldQuery を使用する必要がありますか?

entity_load を使用して、特定のタイプの問題のすべてのエンティティを取得し、それらの関連情報を取得するつもりでした (しかし、それは非効率的である可能性があります)。

4

1 に答える 1

1

EntityFieldQuery は、エンティティ ID の配列のみを返します。それだけで十分な場合、EntityFieldQuery ははるかに高速になります。

フィールド値を取得する必要がある場合は、entity_load を実行する必要があります。遅いですが、Drupal のやり方です。

ノード数が非常に多い場合、タイムアウトの問題が発生する可能性があります。これを克服するには、Drupals Batch API を使用するか、Database API を使用してカスタム クエリを記述し、1 つのクエリで必要な正確なデータを取得できます。これは技術的には高速ですが、より多くのコードが必要になり、互換性が失われる可能性があります。

于 2013-08-11T20:49:57.277 に答える