function EntityDefinitionTestTrait::getUpdatedFieldStorageDefinitions
Returns the required rev / mul field definitions for an entity type.
Parameters
bool $revisionable: (optional) Whether the entity type should be revisionable or not. Defaults to FALSE.
bool $translatable: (optional) Whether the entity type should be translatable or not. Defaults to FALSE.
Return value
\Drupal\Core\Field\FieldStorageDefinitionInterface[] An array of field storage definition objects.
10 calls to EntityDefinitionTestTrait::getUpdatedFieldStorageDefinitions()
- EntityDefinitionTestTrait::resetEntityType in core/modules/ system/ tests/ src/ Functional/ Entity/ Traits/ EntityDefinitionTestTrait.php 
- Resets the entity type definition.
- EntityDefinitionTestTrait::updateEntityTypeToNotRevisionable in core/modules/ system/ tests/ src/ Functional/ Entity/ Traits/ EntityDefinitionTestTrait.php 
- Updates the 'entity_test_update' entity type not revisionable.
- EntityDefinitionTestTrait::updateEntityTypeToNotTranslatable in core/modules/ system/ tests/ src/ Functional/ Entity/ Traits/ EntityDefinitionTestTrait.php 
- Updates the 'entity_test_update' entity type to not translatable.
- EntityDefinitionTestTrait::updateEntityTypeToRevisionable in core/modules/ system/ tests/ src/ Functional/ Entity/ Traits/ EntityDefinitionTestTrait.php 
- Updates the 'entity_test_update' entity type to revisionable.
- EntityDefinitionTestTrait::updateEntityTypeToRevisionableAndTranslatable in core/modules/ system/ tests/ src/ Functional/ Entity/ Traits/ EntityDefinitionTestTrait.php 
- Updates the test entity type to be revisionable and translatable.
File
- 
              core/modules/ system/ tests/ src/ Functional/ Entity/ Traits/ EntityDefinitionTestTrait.php, line 492 
Class
- EntityDefinitionTestTrait
- Provides some test methods used to update existing entity definitions.
Namespace
Drupal\Tests\system\Functional\Entity\TraitsCode
protected function getUpdatedFieldStorageDefinitions($revisionable = FALSE, $translatable = FALSE) {
  /** @var \Drupal\Core\Field\BaseFieldDefinition[] $field_storage_definitions */
  $field_storage_definitions = \Drupal::service('entity_field.manager')->getFieldStorageDefinitions('entity_test_update');
  if ($revisionable) {
    // The 'langcode' is already available for the 'entity_test_update' entity
    // type because it has the 'langcode' entity key defined.
    $field_storage_definitions['langcode']->setRevisionable(TRUE);
    $field_storage_definitions['revision_id'] = BaseFieldDefinition::create('integer')->setName('revision_id')
      ->setTargetEntityTypeId('entity_test_update')
      ->setTargetBundle(NULL)
      ->setLabel(new TranslatableMarkup('Revision ID'))
      ->setReadOnly(TRUE)
      ->setSetting('unsigned', TRUE);
    $field_storage_definitions['revision_default'] = BaseFieldDefinition::create('boolean')->setName('revision_default')
      ->setTargetEntityTypeId('entity_test_update')
      ->setTargetBundle(NULL)
      ->setLabel(new TranslatableMarkup('Default revision'))
      ->setDescription(new TranslatableMarkup('A flag indicating whether this was a default revision when it was saved.'))
      ->setStorageRequired(TRUE)
      ->setInternal(TRUE)
      ->setTranslatable(FALSE)
      ->setRevisionable(TRUE);
  }
  if ($translatable) {
    // The 'langcode' is already available for the 'entity_test_update' entity
    // type because it has the 'langcode' entity key defined.
    $field_storage_definitions['langcode']->setTranslatable(TRUE);
    $field_storage_definitions['default_langcode'] = BaseFieldDefinition::create('boolean')->setName('default_langcode')
      ->setTargetEntityTypeId('entity_test_update')
      ->setTargetBundle(NULL)
      ->setLabel(new TranslatableMarkup('Default translation'))
      ->setDescription(new TranslatableMarkup('A flag indicating whether this is the default translation.'))
      ->setTranslatable(TRUE)
      ->setRevisionable(TRUE)
      ->setDefaultValue(TRUE);
  }
  if ($revisionable && $translatable) {
    $field_storage_definitions['revision_translation_affected'] = BaseFieldDefinition::create('boolean')->setName('revision_translation_affected')
      ->setTargetEntityTypeId('entity_test_update')
      ->setTargetBundle(NULL)
      ->setLabel(new TranslatableMarkup('Revision translation affected'))
      ->setDescription(new TranslatableMarkup('Indicates if the last edit of a translation belongs to current revision.'))
      ->setReadOnly(TRUE)
      ->setRevisionable(TRUE)
      ->setTranslatable(TRUE);
  }
  return $field_storage_definitions;
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
