function DefaultSelection::getReferenceableEntities

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Entity/Plugin/EntityReferenceSelection/DefaultSelection.php \Drupal\Core\Entity\Plugin\EntityReferenceSelection\DefaultSelection::getReferenceableEntities()

File

core/lib/Drupal/Core/Entity/Plugin/EntityReferenceSelection/DefaultSelection.php, line 337

Class

DefaultSelection
Default plugin implementation of the Entity Reference Selection plugin.

Namespace

Drupal\Core\Entity\Plugin\EntityReferenceSelection

Code

public function getReferenceableEntities($match = NULL, $match_operator = 'CONTAINS', $limit = 0) {
  $target_type = $this->getConfiguration()['target_type'];
  $query = $this->buildEntityQuery($match, $match_operator);
  if ($limit > 0) {
    $query->range(0, $limit);
  }
  $result = $query->execute();
  if (empty($result)) {
    return [];
  }
  $options = [];
  $entities = $this->entityTypeManager
    ->getStorage($target_type)
    ->loadMultiple($result);
  foreach ($entities as $entity_id => $entity) {
    $bundle = $entity->bundle();
    $options[$bundle][$entity_id] = Html::escape($this->entityRepository
      ->getTranslationFromContext($entity)
      ->label() ?? '');
  }
  return $options;
}

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