Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php \Drupal\Core\Entity\Sql\SqlContentEntityStorage::buildPropertyQuery()
  2. 9 core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php \Drupal\Core\Entity\Sql\SqlContentEntityStorage::buildPropertyQuery()

Builds an entity query.

Parameters

\Drupal\Core\Entity\Query\QueryInterface $entity_query: EntityQuery instance.

array $values: An associative array where the keys are the property names and the values are the values those properties must have. If a property takes multiple values, passing an array of values will produce an IN condition.

Overrides EntityStorageBase::buildPropertyQuery

File

core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php, line 656

Class

SqlContentEntityStorage
A content entity database storage implementation.

Namespace

Drupal\Core\Entity\Sql

Code

protected function buildPropertyQuery(QueryInterface $entity_query, array $values) {
  if ($this->dataTable) {

    // @todo We should not be using a condition to specify whether conditions
    //   apply to the default language. See
    //   https://www.drupal.org/node/1866330.
    // Default to the original entity language if not explicitly specified
    // otherwise.
    if (!array_key_exists($this->defaultLangcodeKey, $values)) {
      $values[$this->defaultLangcodeKey] = 1;
    }
    elseif ($values[$this->defaultLangcodeKey] === NULL) {
      unset($values[$this->defaultLangcodeKey]);
    }
  }
  parent::buildPropertyQuery($entity_query, $values);
}