我需要检索一段时间内所有订单的集合。
另外,我需要查询每天的订单数量。
以下是我的尝试:
$fromDate = '2016-01-15 00:00:00';
$toDate = '2016-02-15 00:00:00';
$orders = Mage::getModel('sales/order')->getCollection()
->addAttributeToSelect('created_at')
->addAttributeToFilter('created_at', array('from'=>$fromDate, 'to'=>$toDate));
$orders->getSelect()
->columns('COUNT(created_at)')
->group('created_at');
答案 0 :(得分:0)
以下内容应该能满足您的需求。就个人而言,我的运行时间为00:00:00至23:59:59。请注意,这将基于UTC(因为这是Magento存储时间/日期的方式)。您可能需要将这些偏移到商店时区。
$fromDate = '2016-03-01 00:00:00';
$toDate = '2016-03-31 23:59:59';
$orders = Mage::getModel('sales/order')->getCollection()
->addAttributeToSelect('created_at')
->addAttributeToFilter('created_at', array('gteq'=>$fromDate))
->addAttributeToFilter('created_at', array('lteq'=>$toDate));
$orders->getSelect()
->columns( 'COUNT(*) AS orders_count' )
->group( 'DATE_FORMAT(created_at, "%d-%m-%y")' );
foreach($orders as $order) {
// logic
}