Can anyone please tell me How to Get order increment id using order id in Magento 2?
Thanks.
You have to pass \Magento\Sales\Api\OrderRepositoryInterface
in construct of your class.
protected $orderRepository;
public function __construct(
...,
\Magento\Sales\Api\OrderRepositoryInterface $orderRepository
){
...
$this->orderRepository = $orderRepository;
}
Then you can do following:
$order = $this->orderRepository->get($orderId);
$orderIncrementId = $order->getIncrementId();
<route url="/V1/creditmemo/:id" method="GET">
?
Commented
Jul 29, 2016 at 10:58
order_id
also. With it you can do as in my answer :)
Commented
Jul 29, 2016 at 13:20
This may help if you don't want to edit the _construct
function:
private static function getIncrementIDfromOrderID($orderID) {
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); // Instance of object manager
$resource = $objectManager->get('Magento\Framework\App\ResourceConnection');
$connection = $resource->getConnection();
$tableName = $resource->getTableName('sales_order'); //gives table name with prefix
//Select Data from table
$result = $connection->fetchAll("SELECT increment_id FROM " . $tableName . " WHERE entity_id = " . $orderID);
if (count($result)) {
return $result[0]['increment_id'];
}
return 0;
}
The best (optimized) way to get order id i.e sales_order.increment_id
from entity id by creating a custom DB query in Magento2.
GetIncrementIdByOrderId
class:<?php
declare(strict_types =1);
namespace Adapttive\SalesOrder\Model\Order;
use Exception;
use Magento\Sales\Model\ResourceModel\Order as OrderResource;
/**
* Class GetIncrementIdByOrderId: To get order.entity_id by order.increment_id
* Reference from \Magento\Sales\Model\OrderIncrementIdChecker
*/
class GetIncrementIdByOrderId
{
/**
* @var OrderResource
*/
private $resource;
/**
* @param OrderResource $resource
*/
public function __construct(OrderResource $resource)
{
$this->resource = $resource;
}
/**
* Get order increment id by order id.
*
* @param int $orderId
* @return int|string
* @throws \Magento\Framework\Exception\LocalizedException
*/
public function get($orderId)
{
$result = "";
try {
/** @var \Magento\Framework\DB\Adapter\AdapterInterface $adapter */
$adapter = $this->resource->getConnection();
$bind = [':entity_id' => $orderId];
/** @var \Magento\Framework\DB\Select $select */
$select = $adapter->select();
$select->from($this->resource->getMainTable(), "increment_id")
->where('entity_id = :entity_id');
$incrementId = $adapter->fetchOne($select, $bind);
if (!empty($incrementId)) {
$result = (string)$incrementId;
}
} catch (Exception $e) {
$result = "";
}
return $result;
}
}
$orderIncrementId = $this->getIncrementIdByOrderId->get($orderId)
Reference: https://adapttive.com/blog/magento-2-get-order-id-by-increment-id/