function _field_create_entity_from_ids

Same name in other branches
  1. 9 core/modules/field/field.module \_field_create_entity_from_ids()
  2. 10 core/modules/field/field.module \_field_create_entity_from_ids()
  3. 11.x core/modules/field/field.module \_field_create_entity_from_ids()

Assembles a partial entity structure with initial IDs.

Parameters

object $ids: An object with the properties entity_type (required), entity_id (required), revision_id (optional) and bundle (optional).

Return value

\Drupal\Core\Entity\EntityInterface An entity, initialized with the provided IDs.

4 calls to _field_create_entity_from_ids()
FieldConfigEditForm::form in core/modules/field_ui/src/Form/FieldConfigEditForm.php
Gets the actual form array to be built.
FieldStorageConfigEditForm::form in core/modules/field_ui/src/Form/FieldStorageConfigEditForm.php
Gets the actual form array to be built.
SqlContentEntityStorage::readFieldItemsToPurge in core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php
Reads values to be purged for a single field.
TermEntityQueryTest::testTermEntityQuery in core/modules/taxonomy/tests/src/Kernel/TermEntityQueryTest.php
Tests that a basic taxonomy entity query works.

File

core/modules/field/field.module, line 274

Code

function _field_create_entity_from_ids($ids) {
    $id_properties = [];
    $entity_type = \Drupal::entityTypeManager()->getDefinition($ids->entity_type);
    if ($id_key = $entity_type->getKey('id')) {
        $id_properties[$id_key] = $ids->entity_id;
    }
    if (isset($ids->revision_id) && ($revision_key = $entity_type->getKey('revision'))) {
        $id_properties[$revision_key] = $ids->revision_id;
    }
    if (isset($ids->bundle) && ($bundle_key = $entity_type->getKey('bundle'))) {
        $id_properties[$bundle_key] = $ids->bundle;
    }
    return \Drupal::entityTypeManager()->getStorage($ids->entity_type)
        ->create($id_properties);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.