public function EntityReferenceItem::setValue

Overrides \Drupal\Core\Entity\Field\FieldItemBase::get().

Overrides FieldItemBase::setValue

File

drupal/core/lib/Drupal/Core/Entity/Field/Type/EntityReferenceItem.php, line 89
Contains \Drupal\Core\Entity\Field\Type\EntityReferenceItem.

Class

EntityReferenceItem
Defines the 'entity_reference' entity field item.

Namespace

Drupal\Core\Entity\Field\Type

Code

public function setValue($values, $notify = TRUE) {

  // Treat the values as property value of the entity property, if no array is
  // given.
  if (isset($values) && !is_array($values)) {
    $values = array(
      'entity' => $values,
    );
  }

  // Make sure that the 'entity' property gets set as 'target_id'.
  if (isset($values['target_id']) && !isset($values['entity'])) {
    $values['entity'] = $values['target_id'];
  }
  parent::setValue($values, $notify);
}