You are here

public function FieldItemBase::setValue in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Field/FieldItemBase.php \Drupal\Core\Field\FieldItemBase::setValue()

Overrides \Drupal\Core\TypedData\TypedData::setValue().

Parameters

array|null $values: An array of property values.

bool $notify: (optional) Whether to notify the parent object of the change. Defaults to TRUE. If a property is updated from a parent object, set it to FALSE to avoid being notified again.

Overrides Map::setValue

8 calls to FieldItemBase::setValue()
CreatedItem::applyDefaultValue in core/lib/Drupal/Core/Field/Plugin/Field/FieldType/CreatedItem.php
Applies the default value.
EntityReferenceItem::setValue in core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php
Sets the data value.
FieldTestItem::postSave in core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/FieldTestItem.php
Defines custom post-save behavior for field values.
FieldTestItem::preSave in core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/FieldTestItem.php
Defines custom presave behavior for field values.
LanguageItem::setValue in core/lib/Drupal/Core/Field/Plugin/Field/FieldType/LanguageItem.php
Sets the data value.

... See full list

4 methods override FieldItemBase::setValue()
EntityReferenceItem::setValue in core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php
Sets the data value.
LanguageItem::setValue in core/lib/Drupal/Core/Field/Plugin/Field/FieldType/LanguageItem.php
Sets the data value.
LinkItem::setValue in core/modules/link/src/Plugin/Field/FieldType/LinkItem.php
Sets the data value.
MapItem::setValue in core/lib/Drupal/Core/Field/Plugin/Field/FieldType/MapItem.php
Sets the data value.

File

core/lib/Drupal/Core/Field/FieldItemBase.php, line 104

Class

FieldItemBase
An entity field item.

Namespace

Drupal\Core\Field

Code

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

  // Treat the values as property value of the first property, if no array is
  // given.
  if (isset($values) && !is_array($values)) {
    $keys = array_keys($this->definition
      ->getPropertyDefinitions());
    $values = [
      $keys[0] => $values,
    ];
  }
  parent::setValue($values, $notify);
}