I need to get order collection between specific date range passing start date and end date in Magento 2. For that I used filter created_at field using addAttributeToFilter().
First create Block file By default created_at field in sales_order table represent the time of order creation:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php namespace Vender\Modulename\Block; class OrderRange extends \Magento\Framework\View\Element\Template { public function __construct( \Magento\Framework\View\Element\Template\Context $context, \Magento\Sales\Model\ResourceModel\Order\CollectionFactory $orderCollectionFactory, array $data = [] ) { $this->orderCollectionFactory = $orderCollectionFactory; parent::__construct($context, $data); } /* Here Create Function For Order collection between start and end date */ public function getOrderCollectionByDateRange(){ $startDate = date("Y-m-d h:i:s",strtotime('0000-00-00')); // start date $endDate = date("Y-m-d h:i:s", strtotime('0000-00-00')); // end date $orders = $this->orderCollectionFactory->create() ->addAttributeToFilter('created_at', array('from'=>$startDate, 'to'=>$endDate)); return $orders; } ?> |
After do this You need to call this function in any custom template file or any exsting template,
1 2 3 4 5 |
if($orders->getTotalCount() > 0) { foreach($orders as $_order) { echo "<pre>";print_r($_order); echo "</pre>"; } } |
Now you can get Order collection by date range.
[crayon-63d3d92ed8e92729435547/] Using above fucntion Images can be imported directly from...
Override view block using di.xml and add the below code...
You can check a list of called layout XML for...
Follow the below steps to install and set up PWA...
If you want to remove all leading zero's from order,...
Let our Magento expert connect to discuss your requirement.
We offer Magento
certified developers.
Our Magento clientele
is 500+.
We sign NDA for the
security of your projects.
We’ve performed 100+
Magento migration projects.
Free quotation
on your project.
Three months warranty on
code developed by us.