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));
我失去的东西在这里很明显?
答
不知道为什么你如果你看看到例如\程序\代码\核心\法师\销售\ 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表模块。
添加属性以及清除缓存? –