0
我需要在請求之間傳遞未保存的Mage_Sales_Model_Order對象數組。試圖將他們保存在結帳/會話中,但他們似乎並未保存在數據庫中。而且,在覈心/會話之後添加的所有數據也會消失。我的代碼:在magento會話中保存訂單
在模型:
//$orders is an array of orders
Mage::getSingleton('checkout/session')->setOrders($orders);
Mage::getSingleton('core/session')->setIsMultishipping(true);
// ...
在控制器:
$this->_redirectUrl($url);
首先,我認爲,爲了不是一個序列化的對象,所以我想這在翻譯:
$serialized = serialize(Mage::getModel('sales/order')->load(1111));
,它返回字符串,因爲它應該。然後我檢查,如果序列化爲了符合最大字段大小,用於存儲會話:
> echo strlen($serialized);
11465
,這是一個很小的值考慮MEDIUMBLOB字段類型在數據庫中存儲會話數據。
您是否知道Magento在數據庫中保存會話時發生沉默失敗的任何不同原因?
謝謝。
未保存的訂單在Magento中有引號嗎?另外你怎麼試圖檢索訂單? – input
不完全。問題是我需要根據當前報價創建訂單,然後將其更改爲創建不同的訂單,因此,我準備訂單並將它們保存在會話中,以便在客戶從支付網關返回時保存在數據庫中。 –