protected function ContentEntitySource::findReferencedEntity in Translation Management Tool 8
Parameters
\Drupal\Core\Field\FieldItemListInterface $field:
array $field_item:
$delta:
$property:
bool $is_target_type_translatable: (optional) Whether the target entity type is translatable.
Return value
\Drupal\Core\Entity\ContentEntityInterface|null
1 call to ContentEntitySource::findReferencedEntity()
- ContentEntitySource::doSaveTranslations in sources/
content/ src/ Plugin/ tmgmt/ Source/ ContentEntitySource.php  - Saves translation data in an entity translation.
 
File
- sources/
content/ src/ Plugin/ tmgmt/ Source/ ContentEntitySource.php, line 769  
Class
- ContentEntitySource
 - Content entity source plugin controller.
 
Namespace
Drupal\tmgmt_content\Plugin\tmgmt\SourceCode
protected function findReferencedEntity(FieldItemListInterface $field, array $field_item, $delta, $property, $is_target_type_translatable = TRUE) {
  // If an id is provided, loop over the field item deltas until we find the
  // matching entity. In case of untranslatable target types return the
  // source target entity as it will be duplicated.
  if (isset($field_item[$property]['#id'])) {
    foreach ($field as $item_delta => $item) {
      if ($item->{$property} instanceof ContentEntityInterface) {
        /** @var ContentEntityInterface $referenced_entity */
        $referenced_entity = $item->{$property};
        if ($referenced_entity
          ->id() == $field_item[$property]['#id'] || $item_delta === $delta && !$is_target_type_translatable) {
          return $referenced_entity;
        }
      }
    }
    // @todo Support loading an entity, throw an exception or log a warning?
  }
  elseif ($field
    ->offsetExists($delta) && $field
    ->offsetGet($delta)->{$property} instanceof ContentEntityInterface) {
    return $field
      ->offsetGet($delta)->{$property};
  }
}