public function DefaultTableMapping::getAllColumns in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/Entity/Sql/DefaultTableMapping.php \Drupal\Core\Entity\Sql\DefaultTableMapping::getAllColumns()
Gets a list of all database columns for a given table.
Parameters
string $table_name: The name of the table to return the columns for.
Return value
string[] An array of database column names for this table. Both field columns and extra columns are returned.
Overrides TableMappingInterface::getAllColumns
1 call to DefaultTableMapping::getAllColumns()
- DefaultTableMapping::getFieldTableName in core/
lib/ Drupal/ Core/ Entity/ Sql/ DefaultTableMapping.php - Gets the table name for a given column.
File
- core/
lib/ Drupal/ Core/ Entity/ Sql/ DefaultTableMapping.php, line 321
Class
- DefaultTableMapping
- Defines a default table mapping class.
Namespace
Drupal\Core\Entity\SqlCode
public function getAllColumns($table_name) {
if (!isset($this->allColumns[$table_name])) {
$this->allColumns[$table_name] = [];
foreach ($this
->getFieldNames($table_name) as $field_name) {
$this->allColumns[$table_name] = array_merge($this->allColumns[$table_name], array_values($this
->getColumnNames($field_name)));
}
// There is just one field for each dedicated storage table, thus
// $field_name can only refer to it.
if (isset($field_name) && $this
->requiresDedicatedTableStorage($this->fieldStorageDefinitions[$field_name])) {
// Unlike in shared storage tables, in dedicated ones field columns are
// positioned last.
$this->allColumns[$table_name] = array_merge($this
->getExtraColumns($table_name), $this->allColumns[$table_name]);
}
else {
$this->allColumns[$table_name] = array_merge($this->allColumns[$table_name], $this
->getExtraColumns($table_name));
}
}
return $this->allColumns[$table_name];
}