You are here

public function MigrateSQLMap::lookupDestinationID in Migrate 6.2

Same name and namespace in other branches
  1. 7.2 plugins/sources/sqlmap.inc \MigrateSQLMap::lookupDestinationID()

Given a (possibly multi-field) source key, return the (possibly multi-field) destination key it is mapped to.

Parameters

array $source_id: Array of source key values.

Return value

array Array of destination key values, or NULL on failure.

Overrides MigrateMap::lookupDestinationID

File

plugins/sources/sqlmap.inc, line 275
Defines a Drupal db-based implementation of MigrateMap.

Class

MigrateSQLMap
@file Defines a Drupal db-based implementation of MigrateMap.

Code

public function lookupDestinationID(array $source_id) {
  migrate_instrument_start('lookupDestinationID');
  $query = $this->connection
    ->select($this->mapTable, 'map')
    ->fields('map', $this->destinationKeyMap);
  foreach ($this->sourceKeyMap as $key_name) {
    $query = $query
      ->condition("map.{$key_name}", array_shift($source_id), '=');
  }
  $result = $query
    ->execute();
  $destination_id = $result
    ->fetchAssoc();
  migrate_instrument_stop('lookupDestinationID');
  return $destination_id;
}