我在表sales_flat_quote_item
中创建了一个名为'wiid'的新列。当任何产品表单愿望清单添加到购物车时,我想在此字段中保存数据。所以,这是我的MageWishlist_Model_Item:
$quote_item = Mage::getModel('sales/quote_item')->load($cart->getQuote()->getItemByProduct($product)->getId());
//I log() this $quote_item and is returning the correct object
$quote_item_id = $quote_item->getId();
//Is returning the correct quote item id from database
$wishlist_item_id = $this->getId();
//Is returnig the correct wishlist item id
$quote_item->setWiid($wishlist_item_id);
$quote_item->save();
问题在于上面的最后两行。它没有保存在数据库中。
答案 0 :(得分:0)
每次在数据库中添加新字段时,都必须在后端刷新“缓存”。
答案 1 :(得分:0)
你必须这样做。
使用sql语句进行Direclty:
$write = Mage::getSingleton('core/resource')->getConnection('core_write');
$query = "UPDATE sales_flat_quote_item SET your_field_here = '" . $yourContent . "' where item_id = ". $itemId;
$write->query($query);
或者不是获取quote_item模型,你必须得到报价模型并迭代如下项目:
$quote = Mage::getModel('sales/quote')->load($quoteId);
$items = $quote->getAllItems();
foreach ($items as $item){
$item->setWild("your_content_here");
$item->save();
}