function WorkspacesAliasRepository::getBaseQuery
Returns a SELECT query for the path_alias base table.
Return value
\Drupal\Core\Database\Query\SelectInterface A Select query object.
Overrides AliasRepository::getBaseQuery
File
- 
              core/modules/ workspaces/ src/ WorkspacesAliasRepository.php, line 35 
Class
- WorkspacesAliasRepository
- Provides workspace-specific path alias lookup queries.
Namespace
Drupal\workspacesCode
protected function getBaseQuery() {
  // Don't alter any queries if we're not in a workspace context.
  if (!$this->workspaceManager
    ->hasActiveWorkspace()) {
    return parent::getBaseQuery();
  }
  $active_workspace = $this->workspaceManager
    ->getActiveWorkspace();
  $query = $this->connection
    ->select('path_alias', 'base_table_2');
  $wa_join = $query->leftJoin('workspace_association', NULL, "[%alias].[target_entity_type_id] = 'path_alias' AND [%alias].[target_entity_id] = [base_table_2].[id] AND [%alias].[workspace] = :active_workspace_id", [
    ':active_workspace_id' => $active_workspace->id(),
  ]);
  $query->innerJoin('path_alias_revision', 'base_table', "[%alias].[revision_id] = COALESCE([{$wa_join}].[target_entity_revision_id], [base_table_2].[revision_id])");
  return $query;
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
