2013-12-12 67 views
0

目前我正在开发一个模块,将附加数据保存到Magento中的订单中。我有我的本地Magento副本上的模块。我的问题是,当我上传我的模块到实际的“现场”版本的网站模块停止工作。在phpMyAdmin中编辑行不保存。 Magento不能设置数据

无法将数据保存到sales_flat_order中的自定义属性。我也无法手动编辑phpMyAdmin中的订单。它拒绝保存更改。商店本身仍然可以创建订单并按照自己的喜好进行工作,除了自定义属性。

这是我用来保存数据的代码:

$_order->setData('myAttribute', $_comments)->getResource()->saveAttribute($_order, 'myAttribute'); 

服务器使用Apache和装甲运兵车。

有什么建议吗?

+0

尝试清除APC缓存一次您将更新的文件上传到服务器。 –

+0

我已经清除了多次缓存,我试试更多。关于phpmyadmin问题,它似乎是大型表的错误。 UPDATE'database'.'sales_flat_order' SET'shipping_method' =''WHERE'sales_flat_order'.'entity_id' = 584; 它想要设置shipping_metod而不是myAttribute。错误? – Andreas

回答

1

对于特定的行使用编辑按钮时,phpMyAdmin的问题似乎是一个错误。它想更新错误的属性。

对于Magento的事实证明,我有不同的方式,以节省现场服务器上,以便代替:

$_order->setData('myAttribute', $_comments)->getResource()->saveAttribute($_order, 'myAttribute'); 

我不得不使用:

$_order->setData('myAttribute', $_comments)->save();