0

我正在使用该事件sales_order_save_after来尝试访问发票小计并对其进行处理。

在我的observer.php中,我有:

public function peterParker($observer)
    {
    $order = $observer->getEvent()->getOrder();

    $orders = Mage::getModel('sales/order_invoice')->getCollection()
                    ->addAttributeToFilter('order_id', array('eq'=>$order->getId()));
    $orders->getSelect()->limit(1);

    $subTotal = $orders->getSubotal();

    Mage::log($subTotal);

}

但是当我下订单时,我的 php 日志中出现了这个错误:

调用未定义的方法 Mage_Sales_Model_Resource_Order_Invoice_Collection::getSubotal()

4

1 回答 1

1

那里非常直接的错误消息

调用未定义的方法 Mage_Sales_Model_Resource_Order_Invoice_Collection::getSubotal()

您正在调用getSubotal集合对象。集合对象没有太多方法,集合也没有神奇的 getter 或 setter。

您需要从该集合中弹出第一个项目

$order = $orders->getFirstItem();

然后从第一个项目中获取数据

Mage::Log($order->getData());
Mage::Log($order->getSubTotal());
于 2013-04-03T03:40:18.267 回答