diff --git a/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php b/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php index 95499dc..9a438c8 100644 --- a/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php +++ b/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php @@ -424,10 +424,13 @@ protected function getFieldSchema(array $id_definition) { * {@inheritdoc} */ public function getRowBySource(array $source_id_values) { - $query = $this->getDatabase()->select($this->mapTableName(), 'map') - ->fields('map'); + $query = $this->getDatabase()->select($this->mapTableName(), 'map'); foreach ($this->sourceIdFields() as $field_name => $source_id) { - $query->condition("map.$source_id", $source_id_values[$field_name], '='); + $query->addField('map', $source_id, $field_name); + $query->condition("map.$source_id", $source_id_values[$field_name]); + } + foreach ($this->destinationIdFields() as $field_name => $destination_id) { + $query->addField('map', $destination_id, $field_name); } $result = $query->execute(); return $result->fetchAssoc(); @@ -437,10 +440,13 @@ public function getRowBySource(array $source_id_values) { * {@inheritdoc} */ public function getRowByDestination(array $destination_id_values) { - $query = $this->getDatabase()->select($this->mapTableName(), 'map') - ->fields('map'); + $query = $this->getDatabase()->select($this->mapTableName(), 'map'); + foreach ($this->sourceIdFields() as $field_name => $source_id) { + $query->addField('map', $source_id, $field_name); + } foreach ($this->destinationIdFields() as $field_name => $destination_id) { - $query->condition("map.$destination_id", $destination_id_values[$field_name], '='); + $query->addField('map', $destination_id, $field_name); + $query->condition("map.$destination_id", $destination_id_values[$field_name]); } $result = $query->execute(); return $result->fetchAssoc();