You are here

protected function ContentEntityStorageBase::doCreate in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php \Drupal\Core\Entity\ContentEntityStorageBase::doCreate()

Performs storage-specific creation of entities.

Parameters

array $values: An array of values to set, keyed by property name.

Return value

\Drupal\Core\Entity\EntityInterface

Overrides EntityStorageBase::doCreate

File

core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php, line 83
Contains \Drupal\Core\Entity\ContentEntityStorageBase.

Class

ContentEntityStorageBase
Base class for content entity storage handlers.

Namespace

Drupal\Core\Entity

Code

protected function doCreate(array $values) {

  // We have to determine the bundle first.
  $bundle = FALSE;
  if ($this->bundleKey) {
    if (!isset($values[$this->bundleKey])) {
      throw new EntityStorageException('Missing bundle for entity type ' . $this->entityTypeId);
    }
    $bundle = $values[$this->bundleKey];
  }
  $entity = new $this->entityClass(array(), $this->entityTypeId, $bundle);
  $this
    ->initFieldValues($entity, $values);
  return $entity;
}