Obter collection “lista” de pedidos entre um intervalo de datas magento 2

Como obter uma lista de pedidos “collection” gerados em um intervalo de datas no Magento 2

<?php
use Magento\Framework\App\Bootstrap;

require __DIR__ . '/app/bootstrap.php';

$params = $_SERVER;

$bootstrap = Bootstrap::create(BP, $params);

$objectManager = $bootstrap->getObjectManager();

$state = $objectManager->get('Magento\Framework\App\State');
$state->setAreaCode('frontend');


$now = new \DateTime();
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$OrderFactory = $objectManager->create('Magento\Sales\Model\ResourceModel\Order\CollectionFactory');
$orderCollection = $OrderFactory->create()->addFieldToSelect(array('*'));
$orderCollection->addFieldToFilter('created_at', ['lteq' => $now->format('Y-m-d H:i:s')])->addFieldToFilter('created_at', ['gteq' => $now->format('2018-05-01 H:i:s')]);
echo "<pre>"; print_r($orderCollection->getData());
?>

Segundo exemplo:

 Você precisa alterar o namespace, o nome da classe e o nome da função conforme sua necessidade:

<?php
namespace 'NAME_SPACE\OF\YOURCLASS';

class YOURCALSS extends \Magento\Framework\App\Action\Action
{

    protected $_orderCollectionFactory;

    public function __construct(
        Magento\Framework\App\Action\Context $context,
        \Magento\Sales\Model\ResourceModel\Order\CollectionFactory $orderCollectionFactory 
    ) {
        $this->_orderCollectionFactory = $orderCollectionFactory;
        parent::__construct($context);

    }

    }
   public function YOURFUNCTION()
   {
       $collection = $this->_orderCollectionFactory->create()->addAttributeToSelect('*');

       // You Can filter collection as 
       $this->orderCollectionFactory
            ->addFieldToFilter('created_at', array('gteq' => $fromDate))
            ->addFieldToFilter('created_at', array('lteq' => $toDate));
    }


   }       
}

Dúvidas? Faça um comentário logo abaixo ou envie uma mensagem clicando aqui.

O seu endereço de e-mail não será publicado.