function ContentEntityBase::getEntityKey
Same name in other branches
- 9 core/lib/Drupal/Core/Entity/ContentEntityBase.php \Drupal\Core\Entity\ContentEntityBase::getEntityKey()
- 8.9.x core/lib/Drupal/Core/Entity/ContentEntityBase.php \Drupal\Core\Entity\ContentEntityBase::getEntityKey()
- 11.x core/lib/Drupal/Core/Entity/ContentEntityBase.php \Drupal\Core\Entity\ContentEntityBase::getEntityKey()
Gets the value of the given entity key, if defined.
Parameters
string $key: Name of the entity key, for example id, revision or bundle.
Return value
mixed The value of the entity key, NULL if not defined.
7 calls to ContentEntityBase::getEntityKey()
- ContentEntityBase::bundle in core/
lib/ Drupal/ Core/ Entity/ ContentEntityBase.php - ContentEntityBase::getRevisionId in core/
lib/ Drupal/ Core/ Entity/ ContentEntityBase.php - ContentEntityBase::id in core/
lib/ Drupal/ Core/ Entity/ ContentEntityBase.php - ContentEntityBase::label in core/
lib/ Drupal/ Core/ Entity/ ContentEntityBase.php - ContentEntityBase::uuid in core/
lib/ Drupal/ Core/ Entity/ ContentEntityBase.php
1 method overrides ContentEntityBase::getEntityKey()
- EntityTest::getEntityKey in core/
modules/ system/ tests/ modules/ entity_test/ src/ Entity/ EntityTest.php
File
-
core/
lib/ Drupal/ Core/ Entity/ ContentEntityBase.php, line 1329
Class
- ContentEntityBase
- Implements Entity Field API specific enhancements to the Entity class.
Namespace
Drupal\Core\EntityCode
protected function getEntityKey($key) {
// If the value is known already, return it.
if (isset($this->entityKeys[$key])) {
return $this->entityKeys[$key];
}
if (isset($this->translatableEntityKeys[$key][$this->activeLangcode])) {
return $this->translatableEntityKeys[$key][$this->activeLangcode];
}
// Otherwise fetch the value by creating a field object.
$value = NULL;
if ($this->getEntityType()
->hasKey($key)) {
$field_name = $this->getEntityType()
->getKey($key);
$definition = $this->getFieldDefinition($field_name);
$property = $definition->getFieldStorageDefinition()
->getMainPropertyName();
$value = $this->get($field_name)->{$property};
// Put it in the right array, depending on whether it is translatable.
if ($definition->isTranslatable()) {
$this->translatableEntityKeys[$key][$this->activeLangcode] = $value;
}
else {
$this->entityKeys[$key] = $value;
}
}
else {
$this->entityKeys[$key] = $value;
}
return $value;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.