You are here

class RelationQuery in Relation 7

Handler class for entity relations.

Hierarchy

Expanded class hierarchy of RelationQuery

File

./relation.database.inc, line 11
Database query functions.

View source
class RelationQuery extends EntityFieldQuery {

  /**
   * Delta group placeholder.
   */
  protected $delta_group = 0;

  /**
   * Constructor for RelationQuery.
   */
  function __construct($entity_type = NULL, $entity_id = NULL, $r_index = NULL) {
    if (isset($entity_type)) {
      $this
        ->related($entity_type, $entity_id, $r_index);
    }
    $this
      ->entityCondition('entity_type', 'relation');
  }

  /**
   * Add a related entity to the query.
   *
   * @param $entity_type
   *   Entity type of the related entity.
   * @param $entity_id
   *   Entity id of the related entity. Can be an array of entity IDs.
   * @param $r_index
   *   The index of the related entity within the requested relation(s).
   *
   * @return RelationQuery
   */
  function related($entity_type, $entity_id, $r_index = NULL) {
    $this
      ->fieldCondition('endpoints', 'entity_type', $entity_type, '=', $this->delta_group);
    $this
      ->fieldCondition('endpoints', 'entity_id', $entity_id, NULL, $this->delta_group);
    if (isset($r_index)) {
      $this
        ->fieldCondition('endpoints', 'r_index', $r_index, '=', $this->delta_group);
    }
    $this->delta_group++;
    return $this;
  }
  function execute() {
    $results = parent::execute();
    if ($this->count) {
      return $results;
    }
    return isset($results['relation']) ? $results['relation'] : array();
  }

}

Members

Namesort descending Modifiers Type Description Overrides
EntityFieldQuery::$age public property Flag indicating whether this is querying current or all revisions.
EntityFieldQuery::$altered public property TRUE if the query has already been altered, FALSE if it hasn't.
EntityFieldQuery::$count public property TRUE if this is a count query, FALSE if it isn't.
EntityFieldQuery::$deleted public property Query behavior for deleted data.
EntityFieldQuery::$entityConditions public property Associative array of entity-generic metadata conditions.
EntityFieldQuery::$executeCallback public property The method executing the query, if it is overriding the default.
EntityFieldQuery::$fieldConditions public property List of field conditions.
EntityFieldQuery::$fieldMetaConditions public property List of field meta conditions (language and delta).
EntityFieldQuery::$fields public property A list of field arrays used.
EntityFieldQuery::$metaData public property A list of metadata added to this query.
EntityFieldQuery::$order public property List of order clauses.
EntityFieldQuery::$orderedResults public property The ordered results.
EntityFieldQuery::$pager public property The query pager data.
EntityFieldQuery::$propertyConditions public property List of property conditions.
EntityFieldQuery::$range public property The query range.
EntityFieldQuery::$tags public property A list of the tags added to this query.
EntityFieldQuery::addCondition public function Adds a condition to an already built SelectQuery (internal function).
EntityFieldQuery::addFieldCondition protected function Adds the given condition to the proper condition array.
EntityFieldQuery::addMetaData public function Adds additional metadata to the query.
EntityFieldQuery::addTag public function Adds a tag to the query.
EntityFieldQuery::age public function Queries the current or every revision.
EntityFieldQuery::count public function Sets the query to be a count query only.
EntityFieldQuery::deleted public function Filters on the data being deleted.
EntityFieldQuery::entityCondition public function Adds a condition on entity-generic metadata.
EntityFieldQuery::entityOrderBy public function Orders the result set by entity-generic metadata.
EntityFieldQuery::fieldCondition public function Adds a condition on field values.
EntityFieldQuery::fieldDeltaCondition public function Adds a condition on the field delta column.
EntityFieldQuery::fieldLanguageCondition public function Adds a condition on the field language column.
EntityFieldQuery::fieldOrderBy public function Orders the result set by a given field column.
EntityFieldQuery::finishQuery function Finishes the query.
EntityFieldQuery::initializePager function Gets the total number of results and initializes a pager for the query.
EntityFieldQuery::pager public function Enables a pager for the query.
EntityFieldQuery::propertyCondition public function Adds a condition on an entity-specific property.
EntityFieldQuery::propertyOrderBy public function Orders the result set by an entity-specific property.
EntityFieldQuery::propertyQuery protected function Queries entity tables in SQL for property conditions and sorts.
EntityFieldQuery::queryCallback public function Determines the query callback to use for this entity query.
EntityFieldQuery::range public function Restricts a query to a given range in the result set.
EntityFieldQuery::RETURN_ALL constant Indicates that both deleted and non-deleted fields should be returned.
EntityFieldQuery::tableSort public function Enables sortable tables for this query.
RelationQuery::$delta_group protected property Delta group placeholder.
RelationQuery::execute function Executes the query. Overrides EntityFieldQuery::execute
RelationQuery::related function Add a related entity to the query.
RelationQuery::__construct function Constructor for RelationQuery.