function EntityFieldQuery::finishQuery

Finishes the query.

Adds tags, metaData, range and returns the requested list or count.

Parameters

SelectQuery $select_query: A SelectQuery which has entity_type, entity_id, revision_id and bundle fields added.

$id_key: Which field's values to use as the returned array keys.

Return value

See EntityFieldQuery::execute().

1 call to EntityFieldQuery::finishQuery()
EntityFieldQuery::propertyQuery in includes/entity.inc
Queries entity tables in SQL for property conditions and sorts.

File

includes/entity.inc, line 1380

Class

EntityFieldQuery
Retrieves entities matching a given set of conditions.

Code

function finishQuery($select_query, $id_key = 'entity_id') {
    foreach ($this->tags as $tag) {
        $select_query->addTag($tag);
    }
    foreach ($this->metaData as $key => $object) {
        $select_query->addMetaData($key, $object);
    }
    $select_query->addMetaData('entity_field_query', $this);
    if ($this->range) {
        $select_query->range($this->range['start'], $this->range['length']);
    }
    if ($this->count) {
        return $select_query->countQuery()
            ->execute()
            ->fetchField();
    }
    $return = array();
    foreach ($select_query->execute() as $partial_entity) {
        $bundle = isset($partial_entity->bundle) ? $partial_entity->bundle : NULL;
        $entity = entity_create_stub_entity($partial_entity->entity_type, array(
            $partial_entity->entity_id,
            $partial_entity->revision_id,
            $bundle,
        ));
        $return[$partial_entity->entity_type][$partial_entity->{$id_key}] = $entity;
        $this->ordered_results[] = $partial_entity;
    }
    return $return;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.