![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-reports/Model/ResourceModel/Customer/Orders/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ /** * Customers by orders Report collection * * @author Magento Core Team <[email protected]> */ 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; } }