trait EntityReferenceFieldItemNormalizerTrait

Same name in other branches
  1. 9 core/modules/serialization/src/Normalizer/EntityReferenceFieldItemNormalizerTrait.php \Drupal\serialization\Normalizer\EntityReferenceFieldItemNormalizerTrait
  2. 8.9.x core/modules/serialization/src/Normalizer/EntityReferenceFieldItemNormalizerTrait.php \Drupal\serialization\Normalizer\EntityReferenceFieldItemNormalizerTrait
  3. 11.x core/modules/serialization/src/Normalizer/EntityReferenceFieldItemNormalizerTrait.php \Drupal\serialization\Normalizer\EntityReferenceFieldItemNormalizerTrait

Converts empty reference values for entity reference items.

Hierarchy

File

core/modules/serialization/src/Normalizer/EntityReferenceFieldItemNormalizerTrait.php, line 10

Namespace

Drupal\serialization\Normalizer
View source
trait EntityReferenceFieldItemNormalizerTrait {
    protected function normalizeRootReferenceValue(&$values, EntityReferenceItem $field_item) {
        // @todo Generalize for all tree-structured entity types.
        if ($this->fieldItemReferencesTaxonomyTerm($field_item) && empty($values['target_id'])) {
            $values['target_id'] = NULL;
        }
    }
    
    /**
     * Determines if a field item references a taxonomy term.
     *
     * @param \Drupal\Core\Field\Plugin\Field\FieldType\EntityReferenceItem $field_item
     *   The entity reference item.
     *
     * @return bool
     */
    protected function fieldItemReferencesTaxonomyTerm(EntityReferenceItem $field_item) {
        return $field_item->getFieldDefinition()
            ->getSetting('target_type') === 'taxonomy_term';
    }

}

Members

Title Sort descending Modifiers Object type Summary
EntityReferenceFieldItemNormalizerTrait::fieldItemReferencesTaxonomyTerm protected function Determines if a field item references a taxonomy term.
EntityReferenceFieldItemNormalizerTrait::normalizeRootReferenceValue protected function

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