Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento 1.7.0.2收集和提取订单状态_Magento_State_Status_Ecommerce Sales - Fatal编程技术网

Magento 1.7.0.2收集和提取订单状态

Magento 1.7.0.2收集和提取订单状态,magento,state,status,ecommerce-sales,Magento,State,Status,Ecommerce Sales,我到处都找遍了,找不到有效的答案 如何获取所有销售/订单状态的集合。使用资源模型还是简单模型 谢谢您可以使用 $collection = Mage::getResourceModel( 'sales/order_status_collection' )->joinStates(); 或 它们都返回一个集合,但第一个直接返回集合,singleton版本使用singleton,因此两次调用同一模型的getSingleton只会创建一个类实例,然后创建一个新集合,而getModel版本会为两次

我到处都找遍了,找不到有效的答案

如何获取所有销售/订单状态的集合。使用资源模型还是简单模型

谢谢

您可以使用

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

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

因此,区别仅在于它在返回集合之前创建了多少类的开销


您无法直接使用“sales/order\u status\u state”,因为它的模型、资源模型和集合不存在-state通过joinStates()函数连接到状态集合。

我尝试了此操作,并且
异常“exception”带有消息“Warning:include(Mage/sales/model/order/status/state.php)[]:无法打开流:在/home/hdmpt/public_html/gtdev/fresh/lib/Varien/Autoload.php中的/home/hdmpt/public_html/gtdev/fresh/app/code/core/core/functions第93'行没有这样的文件或目录。php:245
您是正确的。我已据此修改了答案
$collection = Mage::getSingleton( 'sales/order_status' )->getCollection()->joinStates();
$collection = Mage::getModel( 'sales/order_status' )->getCollection()->joinStates();