public function EntityBase::createDuplicate in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/Entity/EntityBase.php \Drupal\Core\Entity\EntityBase::createDuplicate()
Creates a duplicate of the entity.
Return value
static A clone of $this with all identifiers unset, so saving it inserts a new entity into the storage system.
Overrides EntityInterface::createDuplicate
1 call to EntityBase::createDuplicate()
- ConfigEntityBase::createDuplicate in core/
lib/ Drupal/ Core/ Config/ Entity/ ConfigEntityBase.php - Creates a duplicate of the entity.
2 methods override EntityBase::createDuplicate()
- ConfigEntityBase::createDuplicate in core/
lib/ Drupal/ Core/ Config/ Entity/ ConfigEntityBase.php - Creates a duplicate of the entity.
- ContentEntityBase::createDuplicate in core/
lib/ Drupal/ Core/ Entity/ ContentEntityBase.php - Creates a duplicate of the entity.
File
- core/
lib/ Drupal/ Core/ Entity/ EntityBase.php, line 410
Class
- EntityBase
- Defines a base entity class.
Namespace
Drupal\Core\EntityCode
public function createDuplicate() {
$duplicate = clone $this;
$entity_type = $this
->getEntityType();
// Reset the entity ID and indicate that this is a new entity.
$duplicate->{$entity_type
->getKey('id')} = NULL;
$duplicate
->enforceIsNew();
// Check if the entity type supports UUIDs and generate a new one if so.
if ($entity_type
->hasKey('uuid')) {
$duplicate->{$entity_type
->getKey('uuid')} = $this
->uuidGenerator()
->generate();
}
return $duplicate;
}