Получить заказ между двумя статусами - PullRequest
0 голосов
/ 28 апреля 2019

У меня проблема с получением суммы времени между заказом

Я могу получить время создания по следующему коду:

$collection = Mage::getResourceModel('sales/order_status_history_collection')
    ->addAttributeToSelect('created_at')
    ->addAttributeToFilter('status', array('eq'=>'complete'))
    ->load()

есть ли способ получить сумму времени между двумя состояниями, например, сумма (OrderInvoiced + OrderShipped)?

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 29 апреля 2019

Вы можете использовать метод прямых SQL запросов, чтобы получить разницу во времени между счетом и созданной отгрузкой.

Запросы Magento Direct SQL

Счет сохраняется в sales_flat_invoice, а отправка сохраняется в sales_flat_shipment. В каждой таблице есть 2 даты для каждого created_at и updated_at.

Вот запрос SQL для получения разницы между счетом и отгрузкой на основе столбца created_at 1016 *

SELECT TIMEDIFF(ss.created_at,si.created_at) As TimeTaken 
FROM `sales_flat_invoice` si 
JOIN `sales_flat_shipment` ss 
ON si.order_id=ss.order_id 
WHERE si.order_id=1

Чтобы получить разницу во времени для всего заказа, просто удалите WHERE si.order_id=1 из вышеуказанного запроса.

...