protected function EntityRevision::getEntity in Zircon Profile 8
Same name in this branch
- 8 core/modules/migrate/tests/src/Unit/destination/EntityRevisionTest.php \Drupal\Tests\migrate\Unit\destination\EntityRevision::getEntity()
- 8 core/modules/migrate/src/Plugin/migrate/destination/EntityRevision.php \Drupal\migrate\Plugin\migrate\destination\EntityRevision::getEntity()
Same name and namespace in other branches
- 8.0 core/modules/migrate/src/Plugin/migrate/destination/EntityRevision.php \Drupal\migrate\Plugin\migrate\destination\EntityRevision::getEntity()
Get the entity.
Parameters
\Drupal\migrate\Row $row: The row object.
array $old_destination_id_values: The old destination ids.
Return value
\Drupal\Core\Entity\EntityInterface|false The entity or false if it can not be created.
Overrides Entity::getEntity
1 call to EntityRevision::getEntity()
- EntityRevision::getEntity in core/
modules/ migrate/ tests/ src/ Unit/ destination/ EntityRevisionTest.php - Allow public access for testing.
1 method overrides EntityRevision::getEntity()
- EntityRevision::getEntity in core/
modules/ migrate/ tests/ src/ Unit/ destination/ EntityRevisionTest.php - Allow public access for testing.
File
- core/
modules/ migrate/ src/ Plugin/ migrate/ destination/ EntityRevision.php, line 41 - Contains \Drupal\migrate\Plugin\migrate\destination\EntityRevision.
Class
- EntityRevision
- Plugin annotation @MigrateDestination( id = "entity_revision", deriver = "Drupal\migrate\Plugin\Derivative\MigrateEntityRevision" )
Namespace
Drupal\migrate\Plugin\migrate\destinationCode
protected function getEntity(Row $row, array $old_destination_id_values) {
$revision_id = $old_destination_id_values ? reset($old_destination_id_values) : $row
->getDestinationProperty($this
->getKey('revision'));
if (!empty($revision_id) && ($entity = $this->storage
->loadRevision($revision_id))) {
$entity
->setNewRevision(FALSE);
}
else {
$entity_id = $row
->getDestinationProperty($this
->getKey('id'));
$entity = $this->storage
->load($entity_id);
// If we fail to load the original entity something is wrong and we need
// to return immediately.
if (!$entity) {
return FALSE;
}
$entity
->enforceIsNew(FALSE);
$entity
->setNewRevision(TRUE);
}
$this
->updateEntity($entity, $row);
$entity
->isDefaultRevision(FALSE);
return $entity;
}