如何在 Magento 核心 API 之外获取订单的送货/账单地址 ID?
我想从 Magento 刚刚完成的订单中获取送货/帐单地址 ID。
我已经尝试过以下代码,但它不起作用:
Mage::getModel('sales/order')->load($array_data["order_id"])->getShippingAddressId()
有人有什么想法吗?
I want to get a shipping/billing address id from a just complete order out of Magento.
I have tried the following code but it's not worked:
Mage::getModel('sales/order')->load($array_data["order_id"])->getShippingAddressId()
Does someone have any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
以下内容可能会帮助寻找类似解决方案的人:
注意:显然此解决方案要求用户拥有当前会话
祝你好运。
The following might help someone looking for a similar solution:
Note: Obviously this solution requires the user to have a current session
Good luck.
首先,分解您的链式调用,以确保您实际上正在加载订单,
假设您已加载订单,请查看上面转储的值。没有
shipping_address_id
。再加上Mage_Sales_Model_Order
上没有方法getShippingAddressId
,这就是您的代码无法正常工作的原因。尝试使用
getShippingAddress
地址方法将返回一个地址对象,您可以检查该对象的 id。如果查看Mage_Sales_Model_Order
类定义,您可以看到方法定义。上述代码的要点是,地址 ID 不与订单模型一起存储。所有订单的地址都存储为
sales/order_address
或Mage_Sales_Model_Order_Address
对象。First, break apart your chained call to make make sure you're actually loading an order with
Assuming you've loaded the order, look at the values dumped above. There's no
shipping_address_id
. That, combined with there being no methodgetShippingAddressId
on aMage_Sales_Model_Order
is why your code isn't working.Try
The
getShippingAddress
address method will return an address object, which you can inspect for its id. If you look at theMage_Sales_Model_Order
class definition, you can see the method definitionsThe TL;DR for the code above is, address IDs aren't stored with the orders model. The addresses for all orders are stored as a
sales/order_address
orMage_Sales_Model_Order_Address
object.经过无数次的调试和谷歌搜索,我得到了解决:
对于基于订单的增量订单地址id,
对于基于客户的订单的地址实体id,
After uncountable debugging and googling, I got it solved:
For incremental order address id based on order,
For address entity id of the order based on customer,
试试这个,你可以获得shipping_address_id和billing_address_id
Try This, you can get the shipping_address_id and billing_address_id