class Query in CiviCRM Entity 8.3
The CiviCRM entity query class.
Hierarchy
- class \Drupal\Core\Entity\Query\QueryBase implements QueryInterface
- class \Drupal\civicrm_entity\Entity\Query\CiviCRM\Query implements QueryInterface
Expanded class hierarchy of Query
1 string reference to 'Query'
- QueryFactory::get in src/
Entity/ Query/ CiviCRM/ QueryFactory.php - Instantiates an entity query for a given entity type.
File
- src/
Entity/ Query/ CiviCRM/ Query.php, line 13
Namespace
Drupal\civicrm_entity\Entity\Query\CiviCRMView source
class Query extends QueryBase implements QueryInterface {
protected $civicrmApi;
/**
* {@inheritdoc}
*/
public function __construct(EntityTypeInterface $entity_type, $conjunction, array $namespaces, CiviCrmApi $civicrm_api) {
parent::__construct($entity_type, $conjunction, $namespaces);
$this->civicrmApi = $civicrm_api;
}
/**
* {@inheritdoc}
*/
public function execute() {
$params = [];
foreach ($this->condition
->conditions() as $condition) {
// If there's anything requiring a custom field, set condition which cannot
// be completed.
// @todo Introduced when supporting field config. Find something better.
// @see \Drupal\field_ui\Form\FieldStorageConfigEditForm::validateCardinality()
if (substr($condition['field'], 0, 6) === 'field_') {
$params['id'] = '-1';
break;
}
$operator = $condition['operator'] ?: '=';
if ($operator == 'CONTAINS') {
$params[$condition['field']] = [
'LIKE' => '%' . $condition['value'] . '%',
];
}
elseif ($operator != '=') {
$params[$condition['field']] = [
$operator => $condition['value'],
];
}
else {
$params[$condition['field']] = $condition['value'];
}
}
$this
->initializePager();
if ($this->range) {
$params['options'] = [
'limit' => $this->range['length'],
'offset' => $this->range['start'],
];
}
if ($this->count) {
return $this->civicrmApi
->getCount($this->entityType
->get('civicrm_entity'), $params);
}
else {
$result = $this->civicrmApi
->get($this->entityType
->get('civicrm_entity'), $params);
return array_keys($result);
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Query:: |
protected | property | ||
Query:: |
public | function |
Execute the query. Overrides QueryInterface:: |
|
Query:: |
public | function |
Constructs this object. Overrides QueryBase:: |
|
QueryBase:: |
protected | property | Whether access check is requested or not. Defaults to TRUE. | |
QueryBase:: |
protected | property | The list of aggregate expressions. | |
QueryBase:: |
protected | property | Flag indicating whether to query the current revision or all revisions. | |
QueryBase:: |
protected | property | The query metadata for alter purposes. | |
QueryBase:: |
protected | property | The query tags. | |
QueryBase:: |
protected | property | Conditions. | 1 |
QueryBase:: |
protected | property | Aggregate Conditions | |
QueryBase:: |
protected | property | TRUE if this is a count query, FALSE if it isn't. | |
QueryBase:: |
protected | property | Information about the entity type. | 1 |
QueryBase:: |
protected | property | The entity type this query runs against. | |
QueryBase:: |
protected | property | The list of columns to group on. | |
QueryBase:: |
protected | property | Flag indicating whether to query the latest revision. | |
QueryBase:: |
protected | property | List of potential namespaces of the classes belonging to this query. | |
QueryBase:: |
protected | property | The query pager data. | |
QueryBase:: |
protected | property | The query range. | |
QueryBase:: |
protected | property | The list of sorts. | |
QueryBase:: |
protected | property | The list of sorts over the aggregate results. | |
QueryBase:: |
public | function |
Overrides QueryInterface:: |
|
QueryBase:: |
public | function |
Adds additional metadata to the query. Overrides AlterableInterface:: |
|
QueryBase:: |
public | function |
Adds a tag to a query. Overrides AlterableInterface:: |
|
QueryBase:: |
public | function | ||
QueryBase:: |
public | function |
Queries all the revisions. Overrides QueryInterface:: |
|
QueryBase:: |
public | function |
Creates a new group of conditions ANDed together. Overrides QueryInterface:: |
|
QueryBase:: |
public | function |
Add a condition to the query or a condition group. Overrides QueryInterface:: |
1 |
QueryBase:: |
public | function | ||
QueryBase:: |
protected | function | Creates an object holding a group of conditions. | |
QueryBase:: |
public | function |
Makes this a count query. Overrides QueryInterface:: |
|
QueryBase:: |
public | function |
Queries the current revision. Overrides QueryInterface:: |
|
QueryBase:: |
public | function |
Queries for a non-empty value on a field. Overrides QueryInterface:: |
|
QueryBase:: |
protected | function | Generates an alias for a field and its aggregated function. | |
QueryBase:: |
public static | function | Finds a class in a list of namespaces. | |
QueryBase:: |
public | function |
Gets the ID of the entity type for this query. Overrides QueryInterface:: |
|
QueryBase:: |
public | function |
Retrieves a given piece of metadata. Overrides AlterableInterface:: |
|
QueryBase:: |
public static | function | Gets a list of namespaces of the ancestors of a class. | |
QueryBase:: |
public | function | ||
QueryBase:: |
public | function |
Determines if a given query has all specified tags. Overrides AlterableInterface:: |
|
QueryBase:: |
public | function |
Determines if a given query has any specified tag. Overrides AlterableInterface:: |
|
QueryBase:: |
public | function |
Determines if a given query has a given tag. Overrides AlterableInterface:: |
|
QueryBase:: |
protected | function | Gets the total number of results and initialize a pager for the query. | |
QueryBase:: |
public | function |
Queries the latest revision. Overrides QueryInterface:: |
|
QueryBase:: |
public | function |
Queries for an empty field. Overrides QueryInterface:: |
|
QueryBase:: |
public | function |
Creates a new group of conditions ORed together. Overrides QueryInterface:: |
|
QueryBase:: |
public | function |
Enables a pager for the query. Overrides QueryInterface:: |
|
QueryBase:: |
public | function |
Overrides QueryInterface:: |
|
QueryBase:: |
public | function |
Overrides QueryInterface:: |
|
QueryBase:: |
public | function | ||
QueryBase:: |
public | function |
Enables sortable tables for this query. Overrides QueryInterface:: |
|
QueryBase:: |
public | function | Makes sure that the Condition object is cloned as well. | 1 |