EntityFieldQueryは本当にこれは非効率ですか?
私はEntity APIの初心者ですが、それを解決しようとしています。私は、さまざまなフィールドが付加された多数のコンテンツタイプを使用するサイトで作業しています。派手なものは何もない。したがって、一連のエントリを取得したい場合、私は無知で、データベースを直接呼び出して、次のようなことをしています。 $query = db_select('node', 'n')->extend('PagerDefault'); $query->fields('n', array('nid')); $query->condition('n.type', 'my_content_type'); $query->leftJoin('field_data_field_user_role', 'role', 'n.nid = role.entity_id'); $query->condition('role.field_user_role_value', $some_value); $query->leftJoin('field_data_field_withdrawn_time', 'wt', 'n.nid = wt.entity_id'); $query->condition('wt.field_withdrawn_time_value', 0); $query->orderBy('n.created', 'desc'); $query->limit(10); $result = $the_questions->execute()->fetchCol(); (はい、私はおそらくこれらの行の束を単一の$the_questions->ステートメントに折りたたむことができます; plsは今のところそれを無視します。) EntityFieldQueryでこれを書き換えようとすると、次のようになります。 $query = new EntityFieldQuery(); $query ->entityCondition('entity_type', 'node') ->entityCondition('bundle', 'my_content_type') ->fieldCondition('field_user_role', 'value', $some_value) ->fieldCondition('field_withdrawn_time', 'value', 0) ->propertyOrderBy('created', 'desc') …