class DataReferenceTargetDefinition
Same name in other branches
- 9 core/lib/Drupal/Core/TypedData/DataReferenceTargetDefinition.php \Drupal\Core\TypedData\DataReferenceTargetDefinition
- 8.9.x core/lib/Drupal/Core/TypedData/DataReferenceTargetDefinition.php \Drupal\Core\TypedData\DataReferenceTargetDefinition
- 10 core/lib/Drupal/Core/TypedData/DataReferenceTargetDefinition.php \Drupal\Core\TypedData\DataReferenceTargetDefinition
A typed data definition class for the entity reference target_id property.
The target_id property differs from other data definitions in that it is required at the storage level, but not at the validation level. This is because its value can be set just-in-time using the preSave() method.
Validation for the target_id property is provided by the 'ValidReference' validation constraint.
Hierarchy
- class \Drupal\Core\TypedData\DataDefinition implements \Drupal\Core\TypedData\DataDefinitionInterface, \Drupal\Core\TypedData\ArrayAccess uses \Drupal\Core\TypedData\TypedDataTrait
- class \Drupal\Core\TypedData\DataReferenceTargetDefinition extends \Drupal\Core\TypedData\DataDefinition
Expanded class hierarchy of DataReferenceTargetDefinition
See also
\Drupal\Core\Field\Plugin\Field\FieldType\EntityReferenceItem::preSave()
5 files declare their use of DataReferenceTargetDefinition
- DeprecatedReferenceItem.php in core/
modules/ jsonapi/ tests/ modules/ jsonapi_test_reference_types/ src/ Plugin/ Field/ FieldType/ DeprecatedReferenceItem.php - EntityReferenceItem.php in core/
lib/ Drupal/ Core/ Field/ Plugin/ Field/ FieldType/ EntityReferenceItem.php - FieldResolver.php in core/
modules/ jsonapi/ src/ Context/ FieldResolver.php - ResourceTestBase.php in core/
modules/ jsonapi/ tests/ src/ Functional/ ResourceTestBase.php - ResourceTypeRepository.php in core/
modules/ jsonapi/ src/ ResourceType/ ResourceTypeRepository.php
File
-
core/
lib/ Drupal/ Core/ TypedData/ DataReferenceTargetDefinition.php, line 17
Namespace
Drupal\Core\TypedDataView source
class DataReferenceTargetDefinition extends DataDefinition {
/**
* {@inheritdoc}
*/
public function getConstraints() {
$constraints = parent::getConstraints();
// If this data definition is marked as required for the sake of schema
// definitions, we don't enforce it using the NotNull constraint. Instead
// \Drupal\Core\Field\EntityReferenceItem is validated by the
// 'ValidReference' constraint that operates at the field-item level. This
// constraint takes into consideration that the target_id property can
// be derived from the entity property.
unset($constraints['NotNull']);
return $constraints;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
DataDefinition::$definition | protected | property | The array holding values for all definition keys. | ||
DataDefinition::addConstraint | public | function | Adds a validation constraint. | Overrides DataDefinitionInterface::addConstraint | |
DataDefinition::create | public static | function | Creates a new data definition. | 5 | |
DataDefinition::createFromDataType | public static | function | Creates a new data definition object. | Overrides DataDefinitionInterface::createFromDataType | 5 |
DataDefinition::getClass | public | function | Returns the class used for creating the typed data object. | Overrides DataDefinitionInterface::getClass | 1 |
DataDefinition::getConstraint | public | function | Returns a validation constraint. | Overrides DataDefinitionInterface::getConstraint | |
DataDefinition::getDataType | public | function | Returns the data type of the data. | Overrides DataDefinitionInterface::getDataType | 2 |
DataDefinition::getDescription | public | function | Returns a human readable description. | Overrides DataDefinitionInterface::getDescription | |
DataDefinition::getLabel | public | function | Returns a human readable label. | Overrides DataDefinitionInterface::getLabel | 1 |
DataDefinition::getSetting | public | function | Returns the value of a given setting. | Overrides DataDefinitionInterface::getSetting | 2 |
DataDefinition::getSettings | public | function | Returns the array of settings, as required by the used class. | Overrides DataDefinitionInterface::getSettings | 2 |
DataDefinition::isComputed | public | function | Determines whether the data value is computed. | Overrides DataDefinitionInterface::isComputed | |
DataDefinition::isInternal | public | function | Determines whether the data value is internal. | Overrides DataDefinitionInterface::isInternal | 1 |
DataDefinition::isList | public | function | Returns whether the data is multi-valued, i.e. a list of data items. | Overrides DataDefinitionInterface::isList | |
DataDefinition::isReadOnly | public | function | Determines whether the data is read-only. | Overrides DataDefinitionInterface::isReadOnly | |
DataDefinition::isRequired | public | function | Determines whether a data value is required. | Overrides DataDefinitionInterface::isRequired | |
DataDefinition::offsetExists | public | function | This is for BC support only. @todo Remove in https://www.drupal.org/node/1928868. |
||
DataDefinition::offsetGet | public | function | This is for BC support only. @todo Remove in https://www.drupal.org/node/1928868. |
||
DataDefinition::offsetSet | public | function | This is for BC support only. @todo Remove in https://www.drupal.org/node/1928868. |
||
DataDefinition::offsetUnset | public | function | This is for BC support only. @todo Remove in https://www.drupal.org/node/1928868. |
||
DataDefinition::setClass | public | function | Sets the class used for creating the typed data object. | ||
DataDefinition::setComputed | public | function | Sets whether the data is computed. | ||
DataDefinition::setConstraints | public | function | Sets an array of validation constraints. | ||
DataDefinition::setDataType | public | function | Sets the data type. | 1 | |
DataDefinition::setDescription | public | function | Sets the human-readable description. | ||
DataDefinition::setInternal | public | function | Sets the whether the data value should be internal. | ||
DataDefinition::setLabel | public | function | Sets the human-readable label. | ||
DataDefinition::setReadOnly | public | function | Sets whether the data is read-only. | ||
DataDefinition::setRequired | public | function | Sets whether the data is required. | ||
DataDefinition::setSetting | public | function | Sets a definition setting. | 2 | |
DataDefinition::setSettings | public | function | Sets the array of settings, as required by the used class. | 2 | |
DataDefinition::toArray | public | function | Returns all definition values as array. | ||
DataDefinition::__construct | public | function | Constructs a new data definition object. | 1 | |
DataDefinition::__sleep | public | function | 2 | ||
DataReferenceTargetDefinition::getConstraints | public | function | Returns an array of validation constraints. | Overrides DataDefinition::getConstraints | |
TypedDataTrait::$typedDataManager | protected | property | The typed data manager used for creating the data types. | ||
TypedDataTrait::getTypedDataManager | public | function | Gets the typed data manager. | 2 | |
TypedDataTrait::setTypedDataManager | public | function | Sets the typed data manager. | 2 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.