获取两个状态之间的顺序

时间:2019-04-28 18:46:55

标签: magento magento2 history status

获取订单之间的时间总和有问题

我可以通过以下代码获取创建的时间:

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

是否可以获取两个状态之间的时间总和,例如sum(OrderInvoiced + OrderShipped)?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以使用直接的SQL查询方法来获取发票和创建的货件之间的时间差。

Magento Direct SQL Queries

发票保存在sales_flat_invoice下,货件保存在sales_flat_shipment下。两个表中的每个created_atupdated_at都有2个日期。

这里是SQL查询,用于根据created_at列获取发票和发货的差异

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