You are here

public function Order::query in Commerce Migrate 3.1.x

Same name in this branch
  1. 3.1.x modules/ubercart/src/Plugin/migrate/source/Order.php \Drupal\commerce_migrate_ubercart\Plugin\migrate\source\Order::query()
  2. 3.1.x modules/commerce/src/Plugin/migrate/source/commerce1/Order.php \Drupal\commerce_migrate_commerce\Plugin\migrate\source\commerce1\Order::query()
Same name and namespace in other branches
  1. 8.2 modules/ubercart/src/Plugin/migrate/source/Order.php \Drupal\commerce_migrate_ubercart\Plugin\migrate\source\Order::query()
  2. 3.0.x modules/ubercart/src/Plugin/migrate/source/Order.php \Drupal\commerce_migrate_ubercart\Plugin\migrate\source\Order::query()

Return value

\Drupal\Core\Database\Query\SelectInterface

Overrides SqlBase::query

File

modules/ubercart/src/Plugin/migrate/source/Order.php, line 22

Class

Order
Provides migration source for orders.

Namespace

Drupal\commerce_migrate_ubercart\Plugin\migrate\source

Code

public function query() {
  $query = $this
    ->select('uc_orders', 'uo')
    ->fields('uo');

  /** @var \Drupal\Core\Database\Schema $db */
  if ($this
    ->getDatabase()
    ->schema()
    ->fieldExists('uc_orders', 'currency')) {

    // Currency column is in the source.
    $query
      ->addField('uo', 'currency');
  }
  else {

    // If the currency column does not exist, add it as an expression to
    // normalize the query results.
    $currency_code = $this
      ->variableGet('uc_currency_code', 'USD');
    $query
      ->addExpression(':currency_code', 'currency', [
      ':currency_code' => $currency_code,
    ]);
  }
  return $query;
}