diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/field/UserReference.php b/core/modules/migrate_drupal/src/Plugin/migrate/field/UserReference.php new file mode 100644 index 00000000000..4f1a6036eed --- /dev/null +++ b/core/modules/migrate_drupal/src/Plugin/migrate/field/UserReference.php @@ -0,0 +1,43 @@ + 'iterator', + 'source' => $field_name, + 'process' => [ + 'target_id' => [ + 'plugin' => 'migration_lookup', + 'migration' => 'd6_user', + 'source' => 'uid', + ], + ], + ]; + $migration->setProcessOfProperty($field_name, $process); + } + +} diff --git a/core/modules/node/tests/src/Kernel/Migrate/d6/MigrateNodeTest.php b/core/modules/node/tests/src/Kernel/Migrate/d6/MigrateNodeTest.php index b480f899d95..ce4ce76e968 100644 --- a/core/modules/node/tests/src/Kernel/Migrate/d6/MigrateNodeTest.php +++ b/core/modules/node/tests/src/Kernel/Migrate/d6/MigrateNodeTest.php @@ -95,6 +95,10 @@ class MigrateNodeTest extends MigrateNodeTestBase { $this->assertSame('Klingon Empire', $node->field_company[0]->entity->label()); $this->assertSame('Romulan Empire', $node->field_company[1]->entity->label()); + // Test that user reference field values were migrated. + $this->assertCount(1, $node->field_commander); + $this->assertSame('joe.roe', $node->field_commander[0]->entity->getUsername()); + $node = Node::load(2); $this->assertIdentical('Test title rev 3', $node->getTitle()); $this->assertIdentical('test rev 3', $node->body->value);