public function DefaultTableMapping::getAllColumns in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Entity/Sql/DefaultTableMapping.php \Drupal\Core\Entity\Sql\DefaultTableMapping::getAllColumns()
- 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];
}