function 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 
- Gets the bundle of the entity.
- ContentEntityBase::getRevisionId in core/lib/ Drupal/ Core/ Entity/ ContentEntityBase.php 
- Gets the revision identifier of the entity.
- ContentEntityBase::id in core/lib/ Drupal/ Core/ Entity/ ContentEntityBase.php 
- Gets the identifier.
- ContentEntityBase::label in core/lib/ Drupal/ Core/ Entity/ ContentEntityBase.php 
- Gets the label of the entity.
- ContentEntityBase::uuid in core/lib/ Drupal/ Core/ Entity/ ContentEntityBase.php 
- Gets the entity UUID (Universally Unique Identifier).
1 method overrides ContentEntityBase::getEntityKey()
- EntityTest::getEntityKey in core/modules/ system/ tests/ modules/ entity_test/ src/ Entity/ EntityTest.php 
- Gets the value of the given entity key, if defined.
File
- 
              core/lib/ Drupal/ Core/ Entity/ ContentEntityBase.php, line 1289 
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.
