function Sql::setUpdate

Same name and namespace in other branches
  1. 9 core/modules/migrate/src/Plugin/migrate/id_map/Sql.php \Drupal\migrate\Plugin\migrate\id_map\Sql::setUpdate()
  2. 8.9.x core/modules/migrate/src/Plugin/migrate/id_map/Sql.php \Drupal\migrate\Plugin\migrate\id_map\Sql::setUpdate()
  3. 10 core/modules/migrate/src/Plugin/migrate/id_map/Sql.php \Drupal\migrate\Plugin\migrate\id_map\Sql::setUpdate()

Overrides MigrateIdMapInterface::setUpdate

File

core/modules/migrate/src/Plugin/migrate/id_map/Sql.php, line 877

Class

Sql
Defines the sql based ID map implementation.

Namespace

Drupal\migrate\Plugin\migrate\id_map

Code

public function setUpdate(array $source_id_values) {
    if (empty($source_id_values)) {
        throw new MigrateException('No source identifiers provided to update.');
    }
    $query = $this->getDatabase()
        ->update($this->mapTableName())
        ->fields([
        'source_row_status' => MigrateIdMapInterface::STATUS_NEEDS_UPDATE,
    ]);
    foreach ($this->sourceIdFields() as $field_name => $source_id) {
        $query->condition($source_id, $source_id_values[$field_name]);
    }
    $query->execute();
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.