W3cubDocs

/Drupal 8

protected function SqlContentEntityStorage::initTableLayout

protected SqlContentEntityStorage::initTableLayout()

Initializes table name variables.

File

core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php, line 168

Class

SqlContentEntityStorage
A content entity database storage implementation.

Namespace

Drupal\Core\Entity\Sql

Code

protected function initTableLayout() {
  // Reset table field values to ensure changes in the entity type definition
  // are correctly reflected in the table layout.
  $this->tableMapping = NULL;
  $this->revisionKey = NULL;
  $this->revisionTable = NULL;
  $this->dataTable = NULL;
  $this->revisionDataTable = NULL;

  // @todo Remove table names from the entity type definition in
  //   https://www.drupal.org/node/2232465.
  $this->baseTable = $this->entityType->getBaseTable() ? : $this->entityTypeId;
  $revisionable = $this->entityType->isRevisionable();
  if ($revisionable) {
    $this->revisionKey = $this->entityType->getKey('revision') ? : 'revision_id';
    $this->revisionTable = $this->entityType->getRevisionTable() ? : $this->entityTypeId . '_revision';
  }
  $translatable = $this->entityType->isTranslatable();
  if ($translatable) {
    $this->dataTable = $this->entityType->getDataTable() ? : $this->entityTypeId . '_field_data';
    $this->langcodeKey = $this->entityType->getKey('langcode');
    $this->defaultLangcodeKey = $this->entityType->getKey('default_langcode');
  }
  if ($revisionable && $translatable) {
    $this->revisionDataTable = $this->entityType->getRevisionDataTable() ? : $this->entityTypeId . '_field_revision';
  }
}

© 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!Entity!Sql!SqlContentEntityStorage.php/function/SqlContentEntityStorage::initTableLayout/8.1.x