function EntityRepository::getCanonicalMultiple

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Entity/EntityRepository.php \Drupal\Core\Entity\EntityRepository::getCanonicalMultiple()
  2. 10 core/lib/Drupal/Core/Entity/EntityRepository.php \Drupal\Core\Entity\EntityRepository::getCanonicalMultiple()
  3. 9 core/lib/Drupal/Core/Entity/EntityRepository.php \Drupal\Core\Entity\EntityRepository::getCanonicalMultiple()
  4. 8.9.x core/lib/Drupal/Core/Entity/EntityRepository.php \Drupal\Core\Entity\EntityRepository::getCanonicalMultiple()

Retrieves the canonical entity variants matching the specified context.

Parameters

string $entity_type_id: The entity type identifier.

int[]|string[] $entity_ids: An array of entity identifiers.

array|null $contexts: (optional) An associative array of arbitrary data that can be useful to determine the proper fallback sequence. See \Drupal\Core\Language\LanguageManagerInterface::getFallbackCandidates(). Using context ids from the plugin context system is deprecated.

Return value

\Drupal\Core\Entity\EntityInterface[] An array of entity object variants keyed by entity ID.

Overrides EntityRepositoryInterface::getCanonicalMultiple

1 call to EntityRepository::getCanonicalMultiple()
EntityRepository::getCanonical in core/lib/Drupal/Core/Entity/EntityRepository.php
Retrieves the canonical entity variant matching the specified context.

File

core/lib/Drupal/Core/Entity/EntityRepository.php, line 180

Class

EntityRepository
Provides several mechanisms for retrieving entities.

Namespace

Drupal\Core\Entity

Code

public function getCanonicalMultiple($entity_type_id, array $entity_ids, ?array $contexts = NULL) {
  $entities = $this->entityTypeManager
    ->getStorage($entity_type_id)
    ->loadMultiple($entity_ids);
  if (!$entities || !$this->languageManager
    ->isMultilingual()) {
    return $entities;
  }
  if (!isset($contexts)) {
    $contexts = [];
  }
  $canonical = [];
  $langcode = $this->getContentLanguageFromContexts($contexts);
  foreach ($entities as $id => $entity) {
    $canonical[$id] = $this->getTranslationFromContext($entity, $langcode, $contexts);
  }
  return $canonical;
}

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