class ThemeKeyEntityFieldQuery in ThemeKey 7.3
Class ThemeKeyEntityFieldQuery
Adds all field values of fields added by fieldCondition() to the EntityFieldQuery::$orderedResult
Hierarchy
- class \EntityFieldQuery
- class \ThemeKeyEntityFieldQuery
Expanded class hierarchy of ThemeKeyEntityFieldQuery
File
- ./
ThemeKeyEntityFieldQuery.php, line 17 - ThemeKey's variant of class EntityFieldQuery.
View source
class ThemeKeyEntityFieldQuery extends EntityFieldQuery {
/**
* Finishes the query.
*
* Adds tags, metaData, range and returns the requested list or count.
*
* @param SelectQuery $select_query
* A SelectQuery which has entity_type, entity_id, revision_id and bundle
* fields added.
* @param $id_key
* Which field's values to use as the returned array keys.
*
* @return
* See EntityFieldQuery::execute().
*/
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 ($this->fields as $key => $field) {
if ('field_sql_storage' == $field['storage']['type']) {
foreach ($select_query
->conditions() as $condition) {
if (is_array($condition) && array_key_exists('field', $condition) && strpos($condition['field'], 'field_data_' . $field['field_name'] . $key . '.') === 0) {
list($table_alias, $column) = explode('.', $condition['field']);
$select_query
->addField($table_alias, $column, $field['field_name']);
break;
}
}
}
}
$this->orderedResults = 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->orderedResults[] = $partial_entity;
}
return $return;
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
EntityFieldQuery:: |
public | property | Flag indicating whether this is querying current or all revisions. | |
EntityFieldQuery:: |
public | property | TRUE if the query has already been altered, FALSE if it hasn't. | |
EntityFieldQuery:: |
public | property | TRUE if this is a count query, FALSE if it isn't. | |
EntityFieldQuery:: |
public | property | Query behavior for deleted data. | |
EntityFieldQuery:: |
public | property | Associative array of entity-generic metadata conditions. | |
EntityFieldQuery:: |
public | property | The method executing the query, if it is overriding the default. | |
EntityFieldQuery:: |
public | property | List of field conditions. | |
EntityFieldQuery:: |
public | property | List of field meta conditions (language and delta). | |
EntityFieldQuery:: |
public | property | A list of field arrays used. | |
EntityFieldQuery:: |
public | property | A list of metadata added to this query. | |
EntityFieldQuery:: |
public | property | List of order clauses. | |
EntityFieldQuery:: |
public | property | The ordered results. | |
EntityFieldQuery:: |
public | property | The query pager data. | |
EntityFieldQuery:: |
public | property | List of property conditions. | |
EntityFieldQuery:: |
public | property | The query range. | |
EntityFieldQuery:: |
public | property | A list of the tags added to this query. | |
EntityFieldQuery:: |
public | function | Adds a condition to an already built SelectQuery (internal function). | |
EntityFieldQuery:: |
protected | function | Adds the given condition to the proper condition array. | |
EntityFieldQuery:: |
public | function | Adds additional metadata to the query. | |
EntityFieldQuery:: |
public | function | Adds a tag to the query. | |
EntityFieldQuery:: |
public | function | Queries the current or every revision. | |
EntityFieldQuery:: |
public | function | Sets the query to be a count query only. | |
EntityFieldQuery:: |
public | function | Filters on the data being deleted. | |
EntityFieldQuery:: |
public | function | Adds a condition on entity-generic metadata. | |
EntityFieldQuery:: |
public | function | Orders the result set by entity-generic metadata. | |
EntityFieldQuery:: |
public | function | Executes the query. | |
EntityFieldQuery:: |
public | function | Adds a condition on field values. | |
EntityFieldQuery:: |
public | function | Adds a condition on the field delta column. | |
EntityFieldQuery:: |
public | function | Adds a condition on the field language column. | |
EntityFieldQuery:: |
public | function | Orders the result set by a given field column. | |
EntityFieldQuery:: |
function | Gets the total number of results and initializes a pager for the query. | ||
EntityFieldQuery:: |
public | function | Enables a pager for the query. | |
EntityFieldQuery:: |
public | function | Adds a condition on an entity-specific property. | |
EntityFieldQuery:: |
public | function | Orders the result set by an entity-specific property. | |
EntityFieldQuery:: |
protected | function | Queries entity tables in SQL for property conditions and sorts. | |
EntityFieldQuery:: |
public | function | Determines the query callback to use for this entity query. | |
EntityFieldQuery:: |
public | function | Restricts a query to a given range in the result set. | |
EntityFieldQuery:: |
constant | Indicates that both deleted and non-deleted fields should be returned. | ||
EntityFieldQuery:: |
public | function | Enables sortable tables for this query. | |
ThemeKeyEntityFieldQuery:: |
function |
Finishes the query. Overrides EntityFieldQuery:: |