0

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();

问题出在上面的最后两行。它没有保存在数据库中。

4

2 回答 2

0

每次在数据库上添加新字段时,都必须在后端刷新“缓存存储”。

于 2013-01-24T10:25:09.860 回答
0

你必须这样做。

直接使用sql语句:

$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();
}
于 2016-05-09T11:54:05.940 回答