Magento付款:additional_information或付款属性?

liq*_*ity 6 php attributes magento magento-1.4

我想知道在magento(1.4.1.1)中向支付添加一些信息的更好方法是哪种.

假设我想添加一个名为"payment_duedate"的信息,该信息将是客户支付发票的日期.

实际上,sales_flat_order_payment中有一个名为"additional_information"的字段,其中包含方法setAdditionalInformation($ arg1,$ arg2)设置的序列化数据; 可在"销售/付款"模式中使用.所以我可以通过以下方式保存日期:

$payment->setAdditionalInformation('payment_duedate',$myDate);
$payment->save();
Run Code Online (Sandbox Code Playgroud)

但是也可以选择添加支付属性,这样可以在'sales_flat_order_payment'中创建一个名为'payment_duedate'的新列,然后通过执行以下操作来保存我的日期:

$payment->setPaymentDuedate($myDate);
$payment->save();
Run Code Online (Sandbox Code Playgroud)

主要区别是:

  • 使用"additional_information方法",数据被序列化,因此不容易查询.
  • 使用"setPaymentDuedate()方法",数据是可查询的,并在表中创建一个新字段

那么,在您看来,这两种方式中哪一种最好?

谢谢,Hugues.

小智 5

setAdditionalInformation()是最有用的只读属性,如消息给用户,如"交易银行:MyBank".

该自定义setPaymentDuedate()对于处理后续操作非常有用,例如检查付款状态Duedate > MMDDYY.