You are here

public function DefaultTableMapping::getColumnNames in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Entity/Sql/DefaultTableMapping.php \Drupal\Core\Entity\Sql\DefaultTableMapping::getColumnNames()

Gets a mapping of field columns to database columns for a given field.

Parameters

string $field_name: The name of the entity field to return the column mapping for.

Return value

string[] The keys of this array are the keys of the array returned by FieldStorageDefinitionInterface::getColumns() while the respective values are the names of the database columns for this table mapping.

Overrides TableMappingInterface::getColumnNames

1 call to DefaultTableMapping::getColumnNames()
DefaultTableMapping::getAllColumns in core/lib/Drupal/Core/Entity/Sql/DefaultTableMapping.php
Gets a list of all database columns for a given table.

File

core/lib/Drupal/Core/Entity/Sql/DefaultTableMapping.php, line 409

Class

DefaultTableMapping
Defines a default table mapping class.

Namespace

Drupal\Core\Entity\Sql

Code

public function getColumnNames($field_name) {
  if (!isset($this->columnMapping[$field_name])) {
    $this->columnMapping[$field_name] = [];
    if (isset($this->fieldStorageDefinitions[$field_name]) && !$this->fieldStorageDefinitions[$field_name]
      ->hasCustomStorage()) {
      foreach (array_keys($this->fieldStorageDefinitions[$field_name]
        ->getColumns()) as $property_name) {
        $this->columnMapping[$field_name][$property_name] = $this
          ->getFieldColumnName($this->fieldStorageDefinitions[$field_name], $property_name);
      }
    }
  }
  return $this->columnMapping[$field_name];
}