0

我正在尝试提取第一季度的销售总额。我似乎无法让它发挥作用。有什么建议么?

$total = 0;
$orders = Mage::getModel('sales_order/collection')
   ->addAttributeToSelect('*')
   ->addAttributeToFilter('created_at', array(
      'from' => '2012-01-01',
      'to' => '2012-03-31'));
foreach ($orders as $order) {
   $total += $order->getGrandTotal();
}
echo $total;
4

1 回答 1

1

你没有得到正确的收藏。有多种方法可以做到这一点,看起来你可能已经结合了几种方法:

  1. Mage::getModel('sales/order')->getCollection()或者
  2. Mage::getResourceModel('sales/order_collection')

但是,如果您真正想要的只是对单个属性求和,grand_total那么构建自己的查询比加载整个销售订单集合更有效

$db = Mage::getSingleton('core/resource')->getConnection('core_read');
$salesTable = Mage::getSingleton('core/resource')->getTableName('sales/order');
list($total) = $db->fetchCol(
    $db->select()
       ->from($salesTable, array('grand_total' => 'SUM(grand_total)'))
       ->where('DATE(created_at) >= ?', '2012-01-01')
       ->where('DATE(created_at) <= ?', '2012-03-31')
);
echo $total;
于 2012-06-26T20:10:18.563 回答