我到处寻找这个,但找不到有效的答案。
如何获取所有sales / order_status_state的集合。一个使用ResourceModel或一个简单的模型?
谢谢
答案 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()函数将状态连接到状态集合。