public function EntityDefinitionUpdateManager::installFieldStorageDefinition

public EntityDefinitionUpdateManager::installFieldStorageDefinition($name, $entity_type_id, $provider, FieldStorageDefinitionInterface $storage_definition)

Installs a new field storage definition.

Parameters

string $name: The field storage definition name.

string $entity_type_id: The target entity type identifier.

string $provider: The name of the definition provider.

\Drupal\Core\Field\FieldStorageDefinitionInterface $storage_definition: The field storage definition.

Overrides EntityDefinitionUpdateManagerInterface::installFieldStorageDefinition

File

core/lib/Drupal/Core/Entity/EntityDefinitionUpdateManager.php, line 158

Class

EntityDefinitionUpdateManager
Manages entity definition updates.

Namespace

Drupal\Core\Entity

Code

public function installFieldStorageDefinition($name, $entity_type_id, $provider, FieldStorageDefinitionInterface $storage_definition) {
  // @todo Pass a mutable field definition interface when we have one. See
  //   https://www.drupal.org/node/2346329.
  if ($storage_definition instanceof BaseFieldDefinition) {
    $storage_definition
    ->setName($name)
      ->setTargetEntityTypeId($entity_type_id)
      ->setProvider($provider)
      ->setTargetBundle(NULL);
  }
  $this->entityManager->clearCachedDefinitions();
  $this->entityManager->onFieldStorageDefinitionCreate($storage_definition);
}

© 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!EntityDefinitionUpdateManager.php/function/EntityDefinitionUpdateManager::installFieldStorageDefinition/8.1.x