Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. MigrateStub.php

function MigrateStub::doCreateStub

Creates a stub.

Parameters

\Drupal\migrate\Plugin\MigrationInterface $migration: The migration to use to create the stub.

array $source_ids: The source ids to map to the stub.

array $default_values: (optional) An array of values to include in the stub.

Return value

array|bool An array of destination ids for the stub.

Throws

\Drupal\migrate\MigrateException

1 call to MigrateStub::doCreateStub()
MigrateStub::createStub in core/modules/migrate/src/MigrateStub.php
Creates a stub.

File

core/modules/migrate/src/MigrateStub.php, line 106

Class

MigrateStub
Provides the migrate stubbing service.

Namespace

Drupal\migrate

Code

protected function doCreateStub(MigrationInterface $migration, array $source_ids, array $default_values = []) {
    $destination = $migration->getDestinationPlugin(TRUE);
    $process = $migration->getProcess();
    $id_map = $migration->getIdMap();
    $migrate_executable = new MigrateExecutable($migration);
    $row = new Row($source_ids + $migration->getSourceConfiguration(), $migration->getSourcePlugin()
        ->getIds(), TRUE);
    $migrate_executable->processRow($row, $process);
    foreach ($default_values as $key => $value) {
        $row->setDestinationProperty($key, $value);
    }
    $destination_ids = [];
    try {
        $destination_ids = $destination->import($row);
    } catch (\Exception $e) {
        $id_map->saveMessage($row->getSourceIdValues(), $e->getMessage());
    }
    if ($destination_ids) {
        $id_map->saveIdMapping($row, $destination_ids, MigrateIdMapInterface::STATUS_NEEDS_UPDATE);
        return $destination_ids;
    }
    return FALSE;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal