diff --git a/core/modules/node/src/Plugin/migrate/source/d6/Node.php b/core/modules/node/src/Plugin/migrate/source/d6/Node.php index 4fe426d890d7776bbc5a0fd6e05a192034b273ab..e120ef9cc671aa9e950a38624f6244dc76d2eabd 100644 --- a/core/modules/node/src/Plugin/migrate/source/d6/Node.php +++ b/core/modules/node/src/Plugin/migrate/source/d6/Node.php @@ -297,6 +297,10 @@ protected function getFieldData(array $field, Row $node) { if (isset($query)) { $columns = array_keys($field['db_columns']); + // If there are no columns then there are no values to return. + if (empty($columns)) { + return []; + } // Add every column in the field's schema. foreach ($columns as $column) { diff --git a/core/modules/node/tests/src/Kernel/Plugin/migrate/source/d6/NodeTest.php b/core/modules/node/tests/src/Kernel/Plugin/migrate/source/d6/NodeTest.php index 9a78d61da3ff602041afaa898289197114886687..c6f72ee3eccc5eec6b7858c3e4e23cf3f676ed6f 100644 --- a/core/modules/node/tests/src/Kernel/Plugin/migrate/source/d6/NodeTest.php +++ b/core/modules/node/tests/src/Kernel/Plugin/migrate/source/d6/NodeTest.php @@ -38,6 +38,18 @@ public function providerSource() { 'active' => '1', 'locked' => '0', ], + [ + 'field_name' => 'field_test_empty_db_columns', + 'type' => 'empty_db_columns', + 'global_settings' => 'a:0:{}', + 'required' => '0', + 'multiple' => '0', + 'db_storage' => '1', + 'module' => 'empty_db_columns', + 'db_columns' => 'a:0:{}', + 'active' => '1', + 'locked' => '0', + ], ]; $tests[0]['source_data']['content_node_field_instance'] = [ [ @@ -52,6 +64,18 @@ public function providerSource() { 'widget_module' => 'number', 'widget_active' => '1', ], + [ + 'field_name' => 'field_test_empty_db_columns', + 'type_name' => 'story', + 'weight' => '33', + 'label' => 'Empty db_columns Field', + 'widget_type' => 'empty_db_columns', + 'widget_settings' => 'a:0:{}', + 'display_settings' => 'a:0:{}', + 'description' => 'An example field with empty db_columns.', + 'widget_module' => 'empty_db_columns', + 'widget_active' => '1', + ], ]; $tests[0]['source_data']['content_type_story'] = [ [