Query
class Query extends QueryBase implements QueryInterface (View source)
Defines the entity query for configuration entities.
Properties
| protected string | $entityTypeId | The entity type this query runs against. |
from QueryBase |
| protected ConfigEntityTypeInterface | $entityType | Information about the entity type. |
|
| protected array | $sort | The list of sorts. |
from QueryBase |
| protected bool | $count | TRUE if this is a count query, FALSE if it isn't. |
from QueryBase |
| protected ConditionInterface | $condition | Conditions. | from QueryBase |
| protected array | $aggregate | The list of aggregate expressions. |
from QueryBase |
| protected array | $groupBy | The list of columns to group on. |
from QueryBase |
| protected ConditionAggregateInterface | $conditionAggregate | Aggregate Conditions. |
from QueryBase |
| protected array | $sortAggregate | The list of sorts over the aggregate results. |
from QueryBase |
| protected array | $range | The query range. |
from QueryBase |
| protected array | $alterMetaData | The query metadata for alter purposes. |
from QueryBase |
| protected array | $alterTags | The query tags. |
from QueryBase |
| protected bool|null | $accessCheck | Whether access check is requested or not. |
from QueryBase |
| protected bool | $allRevisions | Flag indicating whether to query the current revision or all revisions. |
from QueryBase |
| protected bool | $latestRevision | Flag indicating whether to query the latest revision. |
from QueryBase |
| protected array | $pager | The query pager data. |
from QueryBase |
| protected array | $namespaces | List of potential namespaces of the classes belonging to this query. |
from QueryBase |
| protected ConfigFactoryInterface | $configFactory | The config factory used by the config entity query. |
|
| protected KeyValueFactoryInterface | $keyValueFactory | The key value factory. |
Methods
Constructs a Query object.
Overrides \Drupal\Core\Entity\Query\QueryBase::condition().
Queries for a non-empty value on a field.
Defines the range of the query.
Creates an object holding a group of conditions.
Creates a new group of conditions ANDed together.
Creates a new group of conditions ORed together.
Sorts the result set by a given field.
Enables or disables access checking for this query.
Enables a pager for the query.
Gets the total number of results and initialize a pager for the query.
{@inheritdoc}
Generates an alias for a field and its aggregated function.
Gets a list of namespaces of the ancestors of a class.
Finds a class in a list of namespaces.
Execute the query.
Loads the config records to examine for the query.
Gets the key value store used to store fast lookups.
Details
__construct(EntityTypeInterface $entity_type, string $conjunction, ConfigFactoryInterface $config_factory, KeyValueFactoryInterface $key_value_factory, array $namespaces)
Constructs a Query object.
string
getEntityTypeId()
Gets the ID of the entity type for this query.
$this
condition($property, string|int|bool|array|null $value = NULL, string|null $operator = NULL, string|null $langcode = NULL)
Overrides \Drupal\Core\Entity\Query\QueryBase::condition().
Additional to the syntax defined in the QueryInterface you can use placeholders (*) to match all keys of a subarray. Let's take the follow yaml file as example:
$this
exists($property, string|null $langcode = NULL)
Queries for a non-empty value on a field.
$this
notExists($property, string|null $langcode = NULL)
Queries for an empty field.
$this
range(int|null $start = NULL, int|null $length = NULL)
Defines the range of the query.
protected ConditionInterface
conditionGroupFactory(string $conjunction = 'AND')
Creates an object holding a group of conditions.
See andConditionGroup() and orConditionGroup() for more.
ConditionInterface
andConditionGroup()
Creates a new group of conditions ANDed together.
For example, consider a drawing entity type with a 'figures' multi-value field containing 'shape' and 'color' columns. To find all drawings containing both a red triangle and a blue circle:
ConditionInterface
orConditionGroup()
Creates a new group of conditions ORed together.
For example, consider a map entity with an 'attributes' field containing 'building_type' and 'color' columns. To find all green and red bikesheds:
$this
sort(string $field, string $direction = 'ASC', string|null $langcode = NULL)
Sorts the result set by a given field.
$this
count()
Makes this a count query.
For count queries, execute() returns the number entities found.
$this
accessCheck(bool $access_check = TRUE)
Enables or disables access checking for this query.
$this
currentRevision()
Limits the query to only default revisions.
See the @link entity_api Entity API topic @endlink for information about the current revision.
$this
latestRevision()
Queries the latest revision.
The latest revision is the most recent revision of an entity. This will be either the default revision, or a pending revision if one exists and it is newer than the default.
$this
allRevisions()
Queries all the revisions.
$this
pager(int $limit = 10, int|null $element = NULL)
Enables a pager for the query.
protected
initializePager()
Gets the total number of results and initialize a pager for the query.
The pager can be disabled by either setting the pager limit to 0, or by setting this query to be a count query.
$this
tableSort(array $headers)
Enables sortable tables for this query.
__clone()
Makes sure that the Condition object is cloned as well.
$this
addTag($tag)
Adds a tag to a query.
Tags are strings that identify a query. A query may have any number of tags. Tags are used to mark a query so that alter hooks may decide if they wish to take action. Tags should be all lower-case and contain only letters, numbers, and underscore, and start with a letter. That is, they should follow the same rules as PHP identifiers in general.
true
hasTag($tag)
Determines if a given query has a given tag.
true
hasAllTags()
Determines if a given query has all specified tags.
Each tag to check should be supplied as a separate argument.
true
hasAnyTag()
Determines if a given query has any specified tag.
Each tag to check should be supplied as a separate argument.
$this
addMetaData($key, $object)
Adds additional metadata to the query.
Often, a query may need to provide additional contextual data to alter hooks. Alter hooks may then use that information to decide if and how to take action.
The
getMetaData($key)
Retrieves a given piece of metadata.
aggregate($field, $function, $langcode = NULL, $alias = NULL)
{@inheritdoc}
conditionAggregate($field, $function = NULL, $value = NULL, $operator = '=', $langcode = NULL)
{@inheritdoc}
sortAggregate($field, $function, $direction = 'ASC', $langcode = NULL)
{@inheritdoc}
groupBy($field, $langcode = NULL)
{@inheritdoc}
protected string
getAggregationAlias(string $field, string $function)
Generates an alias for a field and its aggregated function.
static array
getNamespaces($object)
Gets a list of namespaces of the ancestors of a class.
static string
getClass(array $namespaces, string $short_class_name)
Finds a class in a list of namespaces.
int|array
execute()
Execute the query.
protected array
loadRecords()
Loads the config records to examine for the query.
protected KeyValueStoreInterface
getConfigKeyStore()
Gets the key value store used to store fast lookups.