Làm thế nào để có được địa chỉ giao hàng bằng địa chỉ giao hàng id?


9

Tôi có đối tượng đặt hàng. Từ đó tôi có thể lấy id địa chỉ giao hàng. Bất cứ ai có thể đề nghị làm thế nào để lấy được địa chỉ Giao hàng bằng id địa chỉ giao hàng?

Câu trả lời:


15

Bạn có thể sử dụng đối tượng order_address để lấy địa chỉ giao hàng:

 $address = Mage::getModel('sales/order_address')->load($shippingId);
// $shippingId is the id you get from order object.
$custName = $address->getName();
$custAddr = $address->getStreetFull();
$region = $address->getRegion();
$country = $address->getCountry();

hoặc dùng

print_r(get_class_methods($address)); 

để xem các phương thức có thể được sử dụng trên đối tượng địa chỉ (địa chỉ $) là gì.

hy vọng nó giải quyết được vấn đề của bạn :)


7

Để lấy Địa chỉ từ một đối tượng đặt hàng, bạn có thể đơn giản làm $order->getShippingAddress()

Giả định

$order_id = 123; // put your order id here
$order = Mage::getModel('sales/order')->load($order_id);

Sau đó

$address = $order->getShippingAddress();
$custName = $address->getName();
$custAddr = $address->getStreetFull();
$region = $address->getRegion();
$country = $address->getCountry();

Tôi đã giải quyết câu hỏi của tôi vài tháng trước. Mặc dù đánh giá cao phản ứng. +1
Sukeshini

$addresstrống khi tôi sử dụng $address = $order->getShippingAddress()nhưng khi tôi sử dụng $address = Mage::getModel('sales/order_address')->load($shippingId);Nó trả về địa chỉ
Pradeep Singh

2

Shathish đã cho bạn một câu trả lời hay và chính xác.

Tuy nhiên, bạn có thể sử dụng phương thức singleton và truy vấn:

$shimnetId = "1"; // use your shipment id: 

$read = Mage::getSingleton('core/resource')->getConnection('core_read');

$query = "SELECT * FROM sales_flat_order_address WHERE entity_id='".$shipmentId."'";

$results = $read->fetchAll($query);

var_dump($results);

sales_flat_order_address chứa cả địa chỉ thanh toán và giao hàng.

Hy vọng nó sẽ làm việc cho bạn.


2
Tôi đã không thử nghiệm giải pháp của bạn. Nhưng tôi nghĩ phát triển theo cách mà Magento đã phát triển là tốt hơn thay vì sử dụng các truy vấn SQL trực tiếp trong nguồn. Dù sao cũng đánh giá cao đề nghị của bạn. Cảm ơn bạn
Sukeshini
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.