Magento 1.7.0.2收集并提取订单状态

时间:2013-01-25 15:44:37

标签: magento state status sales

我到处寻找这个,但找不到有效的答案。

如何获取所有sales / order_status_state的集合。一个使用ResourceModel或一个简单的模型?

谢谢

1 个答案:

答案 0 :(得分:2)

您可以使用

$collection = Mage::getResourceModel( 'sales/order_status_collection' )->joinStates();

$collection = Mage::getSingleton( 'sales/order_status' )->getCollection()->joinStates();
$collection = Mage::getModel( 'sales/order_status' )->getCollection()->joinStates();

它们都返回一个集合,但第一个集合直接返回集合,单例版本使用单例,因此为同一模型调用getSingleton两次只创建一个类实例,然后创建一个新集合,getModel版本将为两个调用创建两个不同的模型然后以与getSingelton版本相同的方式创建集合。

所以区别仅在于它在返回集合之前创建了多少个类的开销。

您无法直接使用'sales / order_status_state',因为它的模型,资源模型和集合不存在 - 使用joinStates()函数将状态连接到状态集合。