On this page
protected function Connection::setPrefix
protected Connection::setPrefix($prefix)
Set the list of prefixes used by this database connection.
Parameters
array|string $prefix: Either a single prefix, or an array of prefixes, in any of the multiple forms documented in default.settings.php.
File
- core/lib/Drupal/Core/Database/Connection.php, line 280
Class
- Connection
- Base Database API class.
Namespace
Drupal\Core\DatabaseCode
protected function setPrefix($prefix) {
if (is_array($prefix)) {
$this->prefixes = $prefix + array('default' => '');
}
else {
$this->prefixes = array('default' => $prefix);
}
// Set up variables for use in prefixTables(). Replace table-specific
// prefixes first.
$this->prefixSearch = array();
$this->prefixReplace = array();
foreach ($this->prefixes as $key => $val) {
if ($key != 'default') {
$this->prefixSearch[] = '{' . $key . '}';
$this->prefixReplace[] = $val . $key;
}
}
// Then replace remaining tables with the default prefix.
$this->prefixSearch[] = '{';
$this->prefixReplace[] = $this->prefixes['default'];
$this->prefixSearch[] = '}';
$this->prefixReplace[] = '';
// Set up a map of prefixed => un-prefixed tables.
foreach ($this->prefixes as $table_name => $prefix) {
if ($table_name !== 'default') {
$this->unprefixedTablesMap[$prefix . $table_name] = $table_name;
}
}
}
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Database!Connection.php/function/Connection::setPrefix/8.1.x