问题
我正在使用获取订单信息
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $order = $objectManager->create('Magento\Sales\Api\OrderRepositoryInterface')->get($orderid);
然后,我迭代$ order以获取与订购商品相关的信息。
我也如何获得这些物品的追踪编号?
<?php foreach ($order->getAllVisibleItems() as $item): ?> // how to use $item to get tracking number <?php?>
我来到了这个解决方案,但是它没有用,并且我不想迭代它,
$order->getTracksCollection()
因为我已经陷入了一个循环
<?php foreach ($order->getAllVisibleItems() as $item): ?>
$tracksCollection = $order->getTracksCollection(); foreach ($tracksCollection->getItems() as $item) { echo $track->getTrackNumber(); // Tracking number }
答案:
尝试这个,
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$order = $objectManager->create('Magento\Sales\Model\Order')->load($orderid);
$tracksCollection = $order->getTracksCollection();
foreach ($tracksCollection->getItems() as $track) {
$trackNumbers[] = $track->getTrackNumber();
}
问题似乎是您没有加载订单对象。
希望这可以帮助。