*/ namespace Magento\Reports\Model\ResourceModel\Customer\Orders; /** * @SuppressWarnings(PHPMD.DepthOfInheritance) * @api * @since 100.0.2 */ class Collection extends \Magento\Reports\Model\ResourceModel\Order\Collection { /** * Join fields * * @param string $fromDate * @param string $toDate * @return $this */ protected function _joinFields($fromDate = '', $toDate = '') { $this->joinCustomerName()->groupByCustomer()->addOrdersCount()->addAttributeToFilter( 'created_at', ['from' => $fromDate, 'to' => $toDate, 'datetime' => true] ); return $this; } /** * Set date range * * @param string $fromDate * @param string $toDate * @return $this */ public function setDateRange($fromDate, $toDate) { $this->_reset()->_joinFields($fromDate, $toDate); return $this; } /** * Set store filter to collection * * @param array $storeIds * @return $this */ public function setStoreIds($storeIds) { if ($storeIds) { $this->addAttributeToFilter('store_id', ['in' => (array)$storeIds]); $this->addSumAvgTotals(1)->orderByOrdersCount(); } else { $this->addSumAvgTotals()->orderByOrdersCount(); } return $this; } }