Magento2 Orders – Get Total Order by a Customer

magento2orders

In magento1, We are using below code to get the total orders by a customer

$customer = Mage::getSingleton('customer/session')->getCustomer();
$orders = Mage::getResourceModel('sales/order_collection')->addFieldToSelect('*')->addFieldToFilter('customer_id', $customer->getId());
echo $orders->getSize();

How to get same in magento2 ?. Any help would be appreciated.I want get this on order success page with using Object manager.

Best Answer

You can use the below code:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$customerSession = $objectManager->get('Magento\Customer\Model\Session');
if($customerSession->isLoggedIn()) {
    $customerId = $customerSession->getCustomer()->getId();

    $resource = $objectManager->get('Magento\Framework\App\ResourceConnection');

    $connection = $resource->getConnection();
    $select     = $connection->select()
        ->from($resource->getTableName('sales_order'), 'COUNT(*)')
        ->where('customer_id=?', $customerId);

    $totalOrderCount = (int) $connection->fetchOne($select);
}   
Related Topic