Magento - 将字段添加到sales_flat_quote

问题描述:

我创建了一个模块,需要将其他字段添加到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

添加属性以及清除缓存? –

不知道为什么你如果你看看到例如\程序\代码\核心\法师\销售\ 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表模块。