You are here

public function Connection::escapeAlias in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::escapeAlias()

Escapes an alias name string.

Force all alias names to be strictly alphanumeric-plus-underscore. In contrast to DatabaseConnection::escapeField() / DatabaseConnection::escapeTable(), this doesn't allow the period (".") because that is not allowed in aliases.

Parameters

string $field: An unsanitized alias name.

Return value

string The sanitized alias name.

File

core/lib/Drupal/Core/Database/Connection.php, line 1427

Class

Connection
Base Database API class.

Namespace

Drupal\Core\Database

Code

public function escapeAlias($field) {
  if (!isset($this->escapedAliases[$field])) {
    [
      $start_quote,
      $end_quote,
    ] = $this->identifierQuotes;
    $this->escapedAliases[$field] = $start_quote . preg_replace('/[^A-Za-z0-9_]+/', '', $field) . $end_quote;
  }
  return $this->escapedAliases[$field];
}