protected function OrderProduct::getAdjustmentData in Commerce Migrate 3.1.x
Same name and namespace in other branches
- 8.2 modules/ubercart/src/Plugin/migrate/source/OrderProduct.php \Drupal\commerce_migrate_ubercart\Plugin\migrate\source\OrderProduct::getAdjustmentData()
- 3.0.x modules/ubercart/src/Plugin/migrate/source/OrderProduct.php \Drupal\commerce_migrate_ubercart\Plugin\migrate\source\OrderProduct::getAdjustmentData()
Retrieves adjustment data for an order.
Parameters
\Drupal\migrate\Row $row: The row.
Return value
array The field values, keyed by delta.
1 call to OrderProduct::getAdjustmentData()
- OrderProduct::prepareRow in modules/
ubercart/ src/ Plugin/ migrate/ source/ OrderProduct.php - Adds additional data to the row.
File
- modules/
ubercart/ src/ Plugin/ migrate/ source/ OrderProduct.php, line 107
Class
- OrderProduct
- Ubercart order product source.
Namespace
Drupal\commerce_migrate_ubercart\Plugin\migrate\sourceCode
protected function getAdjustmentData(Row $row) {
$order_id = $row
->getSourceProperty('order_id');
$query = $this
->select('uc_order_line_items', 'uol')
->fields('uol')
->fields('uo', [
'order_id',
])
->orderBy('weight', 'ASC')
->condition('uol.order_id', $order_id)
->condition('type', 'shipping', '!=');
$query
->innerJoin('uc_orders', 'uo', 'uol.order_id = uo.order_id');
$adjustments = $query
->execute()
->fetchAll();
$currency_code = $row
->getSourceProperty('currency');
foreach ($adjustments as &$adjustment) {
$adjustment['currency_code'] = $currency_code;
$adjustment['data'] = unserialize($adjustment['data']);
}
// Number of product line items.
$query = $this
->select('uc_order_products', 'uop')
->condition('uop.order_id', $order_id);
$query
->addExpression('COUNT(order_id)', 'num_product_line');
$query
->addExpression('MAX(order_product_id)', 'max_order_product_id');
$results = $query
->execute()
->fetchAll();
$row
->setSourceProperty('num_product_line', $results[0]['num_product_line']);
$row
->setSourceProperty('max_order_product_id', $results[0]['max_order_product_id']);
return $adjustments;
}