0

我到处搜索,找不到有效的答案。

如何获取所有销售/订单状态_状态的集合。一个使用 ResourceModel 还是一个简单的 Model ?

谢谢

4

1 回答 1

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() 函数加入状态集合。

于 2013-01-25T15:57:29.027 回答