2011-09-01 80 views
0

我創建了一個模塊,需要將其他字段添加到sales_flat_quote表/模型中。Magento - 將字段添加到sales_flat_quote

一切似乎在我的安裝腳本中正常工作,並且可以在數據庫中看到新字段。

當檢索一個quote對象並將值存儲在我的新字段中時,該值永遠不會被記錄到數據庫中。保存方法不會產生錯誤或異常,但值不會保留。

如果它有所不同,我試圖在結帳過程中將值保存到觀察者的報價中。

這裏是代碼我用我的安裝腳本:

$setup = new Mage_Sales_Model_Mysql4_Setup('sales_setup'); 
$setup->getConnection()->addColumn(
     $setup->getTable('sales_flat_quote'), 
     'test_attribute', 
     'text NULL DEFAULT NULL' 
    ); 

$setup->addAttribute('quote', 'test_attribute', array('type' => 'text', 'visible' => false)); 

我失去的東西在這裏很明顯?

+0

添加屬性以及清除緩存? –

回答

-1

不知道爲什麼你如果你看看到例如\程序\代碼\核心\法師\銷售\ SQL創建這個對象$setup = new Mage_Sales_Model_Mysql4_Setup('sales_setup'); \ sales_setup \ mysql4升級,1.3.99-1.4.0.0.php,您將看到:

/* @var $installer Mage_Sales_Model_Entity_Setup */ 
$installer = $this; 
$installer->startSetup(); 

/* Include code from mysql4-upgrade-0.9.38-0.9.39.php */ 
$installer->getConnection()->addColumn($installer->getTable('sales_flat_quote_item'), 
    'store_id', 'smallint(5) unsigned default null AFTER `product_id`'); 

當然,你應該刪除緩存,在config.xml中改變你的模塊版本編號比你有更大的您在core_resource表模塊。