Мне нужно получить заказ в Magento по его идентификатору. Как загрузить определенный заказ по идентификатору?
Итак, я получил первоначальный запрос:
Mage::getModel('sales/order');
Чтобы загрузить заказ по инкрементному идентификатору, нужно сделать:
Mage::getModel('sales/order')->loadByIncrementId('10000001'); //use a real increment order id here
Для загрузки по идентификатору объекта вы просто позвоните load
:
Mage::getModel('sales/order')->load(24999); //use an entity id here
Получение деталей заказа зависит от нескольких компонентов:
Загрузите ваш заказ: (db: sales_flat_order)
Затем отфильтруйте свою коллекцию предметов на основе заказа.
Что большинство из них сделает: (db: sales_flat_order_item)
Который покажет видимые продукты. Проблема в том, что он получит «настраиваемый» элемент из коллекции (который, как ни странно, имеет пометку ребенка в записи). Я нахожу это непредсказуемым в случае изменений SKU, так как исторический SKU больше не присутствует. Вместо этого я считаю, что лучше использовать альтернативный подход следующим образом.
перебрать коллекцию элементов заказа
источник
intval
getQtyOrdered
addAttributeToSelect
. Спасибо.