interface QueryAggregateInterface
Same name in other branches
- 9 core/lib/Drupal/Core/Entity/Query/QueryAggregateInterface.php \Drupal\Core\Entity\Query\QueryAggregateInterface
- 10 core/lib/Drupal/Core/Entity/Query/QueryAggregateInterface.php \Drupal\Core\Entity\Query\QueryAggregateInterface
- 11.x core/lib/Drupal/Core/Entity/Query/QueryAggregateInterface.php \Drupal\Core\Entity\Query\QueryAggregateInterface
Defines a interface for aggregated entity queries.
Hierarchy
- interface \Drupal\Core\Database\Query\AlterableInterface
- interface \Drupal\Core\Entity\Query\QueryInterface extends \Drupal\Core\Database\Query\AlterableInterface
- interface \Drupal\Core\Entity\Query\QueryAggregateInterface extends \Drupal\Core\Entity\Query\QueryInterface
- interface \Drupal\Core\Entity\Query\QueryInterface extends \Drupal\Core\Database\Query\AlterableInterface
Expanded class hierarchy of QueryAggregateInterface
All classes that implement QueryAggregateInterface
3 files declare their use of QueryAggregateInterface
- DrupalTest.php in core/
tests/ Drupal/ Tests/ Core/ DrupalTest.php - Query.php in core/
lib/ Drupal/ Core/ Entity/ Query/ Null/ Query.php - QueryAggregate.php in core/
lib/ Drupal/ Core/ Entity/ Query/ Sql/ QueryAggregate.php
File
-
core/
lib/ Drupal/ Core/ Entity/ Query/ QueryAggregateInterface.php, line 8
Namespace
Drupal\Core\Entity\QueryView source
interface QueryAggregateInterface extends QueryInterface {
/**
* Specifies a field and a function to aggregate on.
*
* Available functions: SUM, AVG, MIN, MAX and COUNT.
*
* @todo What about GROUP_CONCAT support?
*
* @param string $field
* The name of the field to aggregate by.
* @param string $function
* The aggregation function, for example COUNT or MIN.
* @param string $langcode
* (optional) The language code.
* @param string $alias
* (optional) The key that will be used on the resultset.
*
* @return $this
* The called object.
*/
public function aggregate($field, $function, $langcode = NULL, &$alias = NULL);
/**
* Specifies the field to group on.
*
* @param string $field
* The name of the field to group by.
*
* @return $this
* The called object.
*/
public function groupBy($field);
/**
* Sets a condition for an aggregated value.
*
* @param string $field
* The name of the field to aggregate by.
* @param string $function
* The aggregation function, for example COUNT or MIN.
* @param mixed $value
* The actual value of the field.
* @param $operator
* Possible values:
* - '=', '<>', '>', '>=', '<', '<=', 'STARTS_WITH', 'CONTAINS',
* 'ENDS_WITH': These operators expect $value to be a literal of the
* same type as the column.
* - 'IN', 'NOT IN': These operators expect $value to be an array of
* literals of the same type as the column.
* - 'BETWEEN': This operator expects $value to be an array of two literals
* of the same type as the column.
* @param string $langcode
* (optional) The language code.
*
* @return $this
* The called object.
*
* @see \Drupal\Core\Entity\Query\QueryInterface::condition()
*/
public function conditionAggregate($field, $function = NULL, $value = NULL, $operator = '=', $langcode = NULL);
/**
* Queries for the existence of a field.
*
* @param string $field
* The name of the field.
* @param string $function
* The aggregate function.
* @param $langcode
* (optional) The language code.
*
* @return $this
* The called object.
*/
public function existsAggregate($field, $function, $langcode = NULL);
/**
* Queries for the nonexistence of a field.
*
* @param string $field
* The name of a field.
* @param string $function
* The aggregate function.
* @param string $langcode
* (optional) The language code.
*
* @return $this
* The called object.
*/
public function notExistsAggregate($field, $function, $langcode = NULL);
/**
* Creates an object holding a group of conditions.
*
* See andConditionAggregateGroup() and orConditionAggregateGroup() for more.
*
* @param string $conjunction
* - AND (default): this is the equivalent of andConditionAggregateGroup().
* - OR: this is the equivalent of andConditionAggregateGroup().
*
* @return ConditionInterface
* An object holding a group of conditions.
*/
public function conditionAggregateGroupFactory($conjunction = 'AND');
/**
* Sorts by an aggregated value.
*
* @param string $field
* The name of a field.
* @param string $function
* The aggregate function. This is only marked optional for interface
* compatibility, it is illegal to leave it out.
* @param string $direction
* The order of sorting, either DESC for descending of ASC for ascending.
* @param string $langcode
* (optional) The language code.
*
* @return $this
* The called object.
*/
public function sortAggregate($field, $function, $direction = 'ASC', $langcode = NULL);
/**
* Executes the aggregate query.
*
* @return array
* A list of result row arrays. Each result row contains the aggregate
* results as keys and also the groupBy columns as keys:
* @code
* $result = $query
* ->aggregate('nid', 'count')
* ->condition('status', 1)
* ->groupby('type')
* ->executeAggregate();
* @endcode
* Will return:
* @code
* $result[0] = array('count_nid' => 3, 'type' => 'page');
* $result[1] = array('count_nid' => 1, 'type' => 'poll');
* $result[2] = array('count_nid' => 4, 'type' => 'story');
* @endcode
*/
public function execute();
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
AlterableInterface::addMetaData | public | function | Adds additional metadata to the query. | 3 | |
AlterableInterface::addTag | public | function | Adds a tag to a query. | 3 | |
AlterableInterface::getMetaData | public | function | Retrieves a given piece of metadata. | 3 | |
AlterableInterface::hasAllTags | public | function | Determines if a given query has all specified tags. | 3 | |
AlterableInterface::hasAnyTag | public | function | Determines if a given query has any specified tag. | 3 | |
AlterableInterface::hasTag | public | function | Determines if a given query has a given tag. | 3 | |
QueryAggregateInterface::aggregate | public | function | Specifies a field and a function to aggregate on. | ||
QueryAggregateInterface::conditionAggregate | public | function | Sets a condition for an aggregated value. | ||
QueryAggregateInterface::conditionAggregateGroupFactory | public | function | Creates an object holding a group of conditions. | 2 | |
QueryAggregateInterface::execute | public | function | Executes the aggregate query. | Overrides QueryInterface::execute | |
QueryAggregateInterface::existsAggregate | public | function | Queries for the existence of a field. | 2 | |
QueryAggregateInterface::groupBy | public | function | Specifies the field to group on. | ||
QueryAggregateInterface::notExistsAggregate | public | function | Queries for the nonexistence of a field. | 2 | |
QueryAggregateInterface::sortAggregate | public | function | Sorts by an aggregated value. | ||
QueryInterface::accessCheck | public | function | 1 | ||
QueryInterface::allRevisions | public | function | Queries all the revisions. | 1 | |
QueryInterface::andConditionGroup | public | function | Creates a new group of conditions ANDed together. | 1 | |
QueryInterface::condition | public | function | Add a condition to the query or a condition group. | 1 | |
QueryInterface::count | public | function | Makes this a count query. | 1 | |
QueryInterface::currentRevision | public | function | Queries the current revision. | 1 | |
QueryInterface::exists | public | function | Queries for a non-empty value on a field. | 1 | |
QueryInterface::getEntityTypeId | public | function | Gets the ID of the entity type for this query. | 1 | |
QueryInterface::latestRevision | public | function | Queries the latest revision. | 1 | |
QueryInterface::notExists | public | function | Queries for an empty field. | 1 | |
QueryInterface::orConditionGroup | public | function | Creates a new group of conditions ORed together. | 1 | |
QueryInterface::pager | public | function | Enables a pager for the query. | 1 | |
QueryInterface::range | public | function | 1 | ||
QueryInterface::sort | public | function | 1 | ||
QueryInterface::tableSort | public | function | Enables sortable tables for this query. | 1 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.