Перемещение по складам в заказе

Подскажите, есть ли какой-то стандартный метод для товаров/артикулов из заказа, который делал бы перемещение товаров из одного склада на другой.

Все так же как делается при редактировании заказа через админку, только програмно 

1 ответ

  • 1
    Eugen Nichikov 11 января 2022 15:31 #

    Как-то так:

    $order_id = 1;
    $stock_id = 1;
    
    $original_data = (new shopOrderModel())->getOrder($order_id);
    
    if ($original_data) {
    	foreach ($original_data['items'] as &$item) {
    		$item['stock_id'] = $stock_id;
    	}
    
            // ignore_stock_validate опционально. Если установлено, то новый склад может в минус уйти.
            // Если не установлено, то надо ошибки обработать.
    	$order_new = new shopOrder($original_data, ['ignore_stock_validate' => true]);
    	$order_new->save();
    }

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите