The question:
I need to get order collection of last one year, In which I have to show data month wise like
Jan - xxx(Orders)
Feb - xxx(Orders)
The Solutions:
Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.
Method 1
Try below code
$fromDate = date('Y-m-d H:i:s', strtotime($fromDate));
$toDate = date('Y-m-d H:i:s', strtotime($toDate));
/* Get the collection */
$orders = Mage::getModel('sales/order')->getCollection()
->addAttributeToFilter('created_at', array('from'=>$fromDate, 'to'=>$toDate))
->addAttributeToFilter('status', array('eq' => Mage_Sales_Model_Order::STATE_COMPLETE))->setOrder('created_at', 'ASC');
$archive=array();
foreach ($orders as $order) {
$tmp=array();
$time=strtotime($order->getCreatedAt());
//save Data you want show in $tmp array
$archive[date("Y",$time)][date("F",$time)][]=$tmp;
}
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0