function Schema::findPrimaryKeyColumns
Finds the primary key columns of a table, from the database.
Parameters
string $table: The name of the table.
Return value
string[]|false A simple array with the names of the columns composing the table's primary key, or FALSE if the table does not exist.
Overrides Schema::findPrimaryKeyColumns
File
-
core/
modules/ pgsql/ src/ Driver/ Database/ pgsql/ Schema.php, line 800
Class
- Schema
- PostgreSQL implementation of \Drupal\Core\Database\Schema.
Namespace
Drupal\pgsql\Driver\Database\pgsqlCode
protected function findPrimaryKeyColumns($table) {
if (!$this->tableExists($table)) {
return FALSE;
}
return $this->connection
->query("SELECT array_position(i.indkey, a.attnum) AS position, a.attname FROM pg_index i JOIN pg_attribute a ON a.attrelid = i.indrelid AND a.attnum = ANY(i.indkey) WHERE i.indrelid = '{" . $table . "}'::regclass AND i.indisprimary ORDER BY position")
->fetchAllKeyed();
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.