如何在自定义字段中向"sales_flat_order_payment"table写入数据?
How to write data to "sales_flat_order_payment" table in a custom field?
在我的自定义模块中,我更改了 table sales_flat_order_payment
和 sales_flat_quote_payment
并添加了两个新字段:
$installer->run("
ALTER TABLE `{$installer->getTable('sales/quote_payment')}` ADD `ep_entity` VARCHAR( 255 ) NOT NULL ;
ALTER TABLE `{$installer->getTable('sales/quote_payment')}` ADD `ep_reference` VARCHAR( 255 ) NOT NULL ;
ALTER TABLE `{$installer->getTable('sales/order_payment')}` ADD `ep_entity` VARCHAR( 255 ) NOT NULL ;
ALTER TABLE `{$installer->getTable('sales/order_payment')}` ADD `ep_reference` VARCHAR( 255 ) NOT NULL ;
");
在我的模型中,有以下函数可以使客户端重定向到我的自定义成功页面:
public function getOrderPlaceRedirectUrl() {
return Mage::getUrl('mymodule/mymethod/success', array('_secure' => false));
}
在控制器中,有如下函数:
public function successAction()
{
$incrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
$order->setEpReference('123456');
$order->save();
}
问题是ep_reference
字段中的sales_flat_order_payment
table没有记录数据。
如何在自定义字段中向sales_flat_order_payment
table写入数据?
我不想在表单中添加自定义字段,自定义字段会在付款完成后自动填充。
我找到了解决方案:
public function successAction()
{
$incrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
$payment = $order->getPayment();
$payment->setEpReference('123456');
$paymentQuote = $quote->getPayment();
$paymentQuote->setEpReference('123456');
$paymentQuote->save();
$order->save();
}
在我的自定义模块中,我更改了 table sales_flat_order_payment
和 sales_flat_quote_payment
并添加了两个新字段:
$installer->run("
ALTER TABLE `{$installer->getTable('sales/quote_payment')}` ADD `ep_entity` VARCHAR( 255 ) NOT NULL ;
ALTER TABLE `{$installer->getTable('sales/quote_payment')}` ADD `ep_reference` VARCHAR( 255 ) NOT NULL ;
ALTER TABLE `{$installer->getTable('sales/order_payment')}` ADD `ep_entity` VARCHAR( 255 ) NOT NULL ;
ALTER TABLE `{$installer->getTable('sales/order_payment')}` ADD `ep_reference` VARCHAR( 255 ) NOT NULL ;
");
在我的模型中,有以下函数可以使客户端重定向到我的自定义成功页面:
public function getOrderPlaceRedirectUrl() {
return Mage::getUrl('mymodule/mymethod/success', array('_secure' => false));
}
在控制器中,有如下函数:
public function successAction()
{
$incrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
$order->setEpReference('123456');
$order->save();
}
问题是ep_reference
字段中的sales_flat_order_payment
table没有记录数据。
如何在自定义字段中向sales_flat_order_payment
table写入数据?
我不想在表单中添加自定义字段,自定义字段会在付款完成后自动填充。
我找到了解决方案:
public function successAction()
{
$incrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
$payment = $order->getPayment();
$payment->setEpReference('123456');
$paymentQuote = $quote->getPayment();
$paymentQuote->setEpReference('123456');
$paymentQuote->save();
$order->save();
}