Magento 2 load order by increment id

Load order by increment id using Object Method in magento2



Sometime you need to load order record in phtml file. Not recommended method to use in magento2 but so magento use it so here it is just for knowledge.

$orderIncrementId=10000003;
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$orderInfo = $objectManager->create('Magento\Sales\Model\Order')->loadByIncrementId($orderIncrementId);


Factory Method:

Best practice method always use this method
namespace CodesBug\Module\Block;
class Product extends \Magento\Framework\View\Element\Template
{
 protected $orderFactory;
public function __construct(
        \Magento\Sales\Model\OrderFactory $orderFactory,
    ) {

        $this->orderFactory = $orderFactory;
    }
public function getOrderByIncrementId(){
        $orderIncrementId = 10000003;
        $order = $this->orderFactory->create()->loadByIncrementId($orderIncrementId);
}

}


Api Repository:


This was introduce in Magento 2.1 by magento.
namespace CodesBug\Module\Block;
use Magento\Catalog\Api\ProductRepositoryInterface;
class Product extends \Magento\Framework\View\Element\Template
 {
     protected $order;
public function __construct(
\Magento\Sales\Api\Data\OrderInterface $order,
    ) {        $this->order = $order;
    }
public function getOrderByIncrementId(){
        $orderIncrementId = 10000003;
        $order = $this->order->loadByIncrementId($orderIncrementId);
}
}

Comments

Post a Comment