You are here

function multiversion_query_entity_query_alter in Multiversion 8.2

Implements hook_query_TAG_alter().

File

./multiversion.module, line 319

Code

function multiversion_query_entity_query_alter(AlterableInterface $query) {
  $entity_type_id = $query
    ->getMetaData('entity_type');
  $entity_type = \Drupal::entityTypeManager()
    ->getDefinition($entity_type_id);
  if ($entity_type_id && \Drupal::service('multiversion.manager')
    ->isEnabledEntityType($entity_type)) {
    $revision_key = $entity_type
      ->getKey('revision');
    $data_table = $entity_type
      ->getDataTable();
    if ($data_table) {
      if (!in_array($data_table, array_column($query
        ->getTables(), 'table'))) {
        $query
          ->join($data_table, NULL, 'base_table.' . $revision_key . '=' . $data_table . '.' . $revision_key);
      }
    }
  }
}