在两种状态之间获取订单

问题描述 投票:0回答:1

我在获取订单之间的时间总和方面遇到了问题

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

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

有没有办法获得两个状态之间的时间总和,如sum(OrderInvoiced + OrderShipped)?

任何帮助,将不胜感激。

magento magento2 history status
1个回答
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即可。

© www.soinside.com 2019 - 2024. All rights reserved.