public function EntityReferenceFieldItemList::referencedEntities
public EntityReferenceFieldItemList::referencedEntities()
Gets the entities referenced by this field, preserving field item deltas.
Return value
\Drupal\Core\Entity\EntityInterface[] An array of entity objects keyed by field item deltas.
Overrides EntityReferenceFieldItemListInterface::referencedEntities
File
- core/lib/Drupal/Core/Field/EntityReferenceFieldItemList.php, line 26
Class
- EntityReferenceFieldItemList
- Defines a item list class for entity reference fields.
Namespace
Drupal\Core\FieldCode
public function referencedEntities() { if (empty($this->list)) { return array(); } // Collect the IDs of existing entities to load, and directly grab the // "autocreate" entities that are already populated in $item->entity. $target_entities = $ids = array(); foreach ($this->list as $delta => $item) { if ($item->target_id !== NULL) { $ids[$delta] = $item->target_id; } elseif ($item->hasNewEntity()) { $target_entities[$delta] = $item->entity; } } // Load and add the existing entities. if ($ids) { $target_type = $this->getFieldDefinition()->getSetting('target_type'); $entities = \Drupal::entityManager()->getStorage($target_type)->loadMultiple($ids); foreach ($ids as $delta => $target_id) { if (isset($entities[$target_id])) { $target_entities[$delta] = $entities[$target_id]; } } // Ensure the returned array is ordered by deltas. ksort($target_entities); } return $target_entities; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Field!EntityReferenceFieldItemList.php/function/EntityReferenceFieldItemList::referencedEntities/8.1.x