Magento 2 – How to Select and Fetch Data from Database

customer-attributemagento2

I have created my custom module which posts data from magento to an API. How do I fetch the customer, category and order data from the Magento2 database? Will object manager help as a replacement for the Mage::getModel()?

Best Answer

Try this

For Product data select/fetch:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$productCollection = $objectManager->create('\Magento\Catalog\Model\Product')->getCollection();
/** Apply filters here */

$productCollection
->addAttributeToSelect('sku')
->addAttributeToSelect('name');

For Category data select/fetch:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$categoryCollection = $objectManager->create('\Magento\Catalog\Model\Category')->getCollection();
/** Apply filters here */

$categoryCollection
->addAttributeToSelect('name');

For Order data select/fetch:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$orderCollection = $objectManager->create('\Magento\Sales\Model\Order')->getCollection();

/** Apply filters here */

$orderCollection
->addAttributeToSelect('*');