function EntityBase::preSave

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Entity/EntityBase.php \Drupal\Core\Entity\EntityBase::preSave()
  2. 10 core/lib/Drupal/Core/Entity/EntityBase.php \Drupal\Core\Entity\EntityBase::preSave()
  3. 8.9.x core/lib/Drupal/Core/Entity/EntityBase.php \Drupal\Core\Entity\EntityBase::preSave()

File

core/lib/Drupal/Core/Entity/EntityBase.php, line 378

Class

EntityBase
Defines a base entity class.

Namespace

Drupal\Core\Entity

Code

public function preSave(EntityStorageInterface $storage) {
  // Check if this is an entity bundle.
  if ($this->getEntityType()
    ->getBundleOf()) {
    // Throw an exception if the bundle ID is longer than 32 characters.
    if (mb_strlen($this->id()) > EntityTypeInterface::BUNDLE_MAX_LENGTH) {
      throw new ConfigEntityIdLengthException("Attempt to create a bundle with an ID longer than " . EntityTypeInterface::BUNDLE_MAX_LENGTH . " characters: {$this->id}().");
    }
  }
}

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