Magento 1.9未保存自定义订单属性(EAV_实体_文本)

Magento 1.9未保存自定义订单属性(EAV_实体_文本),magento,entity-attribute-value,Magento,Entity Attribute Value,在我的customer Magento模块中,我向订单添加了一个自定义属性(hearedfrom),该属性在order对象中设置(get after set返回值),但它似乎没有保存在DB中 mymodule/etc/config.xml 脑虫 Mage\u目录\u模型\u资源\u Eav\u Mysql4\u设置 核心单元设置 您能在sales\u flat\u order表中看到您的属性吗 如果不是,我相信您的问题是使用目录设置而不是销售设置。尝试改用Mage\u Sales\u Mod

在我的customer Magento模块中,我向订单添加了一个自定义属性(hearedfrom),该属性在order对象中设置(get after set返回值),但它似乎没有保存在DB中

mymodule/etc/config.xml


脑虫
Mage\u目录\u模型\u资源\u Eav\u Mysql4\u设置
核心单元设置

您能在sales\u flat\u order表中看到您的属性吗

如果不是,我相信您的问题是使用目录设置而不是销售设置。尝试改用Mage\u Sales\u Model\u Resource\u SetupSetup类。改为添加如下属性:

$installer->getConnection()->addColumn($installer->getTable('sales/order'), 'hearedfrom', array(
'type' => Varien_Db_Ddl_Table::TYPE_TEXT,
'nullable' => true,
'default' => 0
));
还要清理magento缓存。我相信有些SQL查询即使全部被禁用,仍然会被缓存。将订单保存到数据库时,描述SQL查询将确定哪些属性保存在数据库中。
我最近遇到了一个问题,描述查询没有包含我的新列,因此没有保存值。

通过将我的处理程序挂接到order\u save\u after\u事件而不是order\u save\u事件,解决了这个问题