function UuidResolver::resolve

Same name and namespace in other branches
  1. 11.x core/modules/serialization/src/EntityResolver/UuidResolver.php \Drupal\serialization\EntityResolver\UuidResolver::resolve()
  2. 10 core/modules/serialization/src/EntityResolver/UuidResolver.php \Drupal\serialization\EntityResolver\UuidResolver::resolve()
  3. 8.9.x core/modules/serialization/src/EntityResolver/UuidResolver.php \Drupal\serialization\EntityResolver\UuidResolver::resolve()

File

core/modules/serialization/src/EntityResolver/UuidResolver.php, line 33

Class

UuidResolver
Resolves entities from data that contains an entity UUID.

Namespace

Drupal\serialization\EntityResolver

Code

public function resolve(NormalizerInterface $normalizer, $data, $entity_type) {
  // The normalizer is what knows the specification of the data being
  // deserialized. If it can return a UUID from that data, and if there's an
  // entity with that UUID, then return its ID.
  if ($normalizer instanceof UuidReferenceInterface && $uuid = $normalizer->getUuid($data)) {
    if ($entity = $this->entityRepository
      ->loadEntityByUuid($entity_type, $uuid)) {
      return $entity->id();
    }
  }
  return NULL;
}

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