उत्तर @Shoaib मुनीर और @Rk राठौड़ के बाद , ये टेबल रनटाइम पर अपडेट नहीं होंगे, इसलिए आपको हर बार से रीफ़्रेश सांख्यिकी चलाने की आवश्यकता है Reports -> Statistics -> Refresh Statistics
। लेकिन अगर आप सांख्यिकी को हर बार मैन्युअल रूप से ताज़ा नहीं करना चाहते हैं तो आप इसके लिए क्रोन सेट कर सकते हैं ताकि यह सांख्यिकी को स्वतः ताज़ा कर दे।
सबसे पहले, आपको नीचे दी गई तरह di.xml का उपयोग करके अपने क्रोन वर्ग के लिए रिपोर्ट को पास करने की आवश्यकता है (मैंने आपकी आवश्यकता के अनुसार सभी तर्क पारित किए हैं)।
<type name="Vendor\Module\Cron\CronFile">
<arguments>
<argument name="reportTypes" xsi:type="array">
<item name="sales" xsi:type="string">Magento\Sales\Model\ResourceModel\Report\Order</item>
<item name="tax" xsi:type="string">Magento\Tax\Model\ResourceModel\Report\Tax</item>
<item name="shipping" xsi:type="string">Magento\Sales\Model\ResourceModel\Report\Shipping</item>
<item name="invoiced" xsi:type="string">Magento\Sales\Model\ResourceModel\Report\Invoiced</item>
<item name="refunded" xsi:type="string">Magento\Sales\Model\ResourceModel\Report\Refunded</item>
<item name="coupons" xsi:type="string">Magento\SalesRule\Model\ResourceModel\Report\Rule</item>
<item name="bestsellers" xsi:type="string">Magento\Sales\Model\ResourceModel\Report\Bestsellers</item>
<item name="viewed" xsi:type="string">Magento\Reports\Model\ResourceModel\Report\Product\Viewed</item>
</argument>
</arguments>
</type>
फिर आपकी क्रोन फ़ाइल में ऐसा होना चाहिए।
<?php
namespace Vendor\Module\Cron;
use Magento\Reports\Model\ResourceModel\Refresh\Collection;
class CronFile extends Collection
{
protected $logger;
protected $reportTypes;
public function __construct(
\Magento\Framework\Data\Collection\EntityFactory $entityFactory,
\Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate,
\Magento\Reports\Model\FlagFactory $reportsFlagFactory,
\Psr\Log\LoggerInterface $logger,
array $reportTypes
) {
$this->logger = $logger;
$this->reportTypes = $reportTypes;
parent::__construct($entityFactory,$localeDate,$reportsFlagFactory);
}
/**
* @return $this
*/
public function execute()
{
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
try {
$codes = $this->loadData();
foreach ($codes->_items as $codek=>$codev) {
$objectManager->create($this->reportTypes[$codek])->aggregate();
}
} catch (\Magento\Framework\Exception\LocalizedException $e) {
$this->logger->critical($e->getMessage());
} catch (\Exception $e) {
$this->logger->critical($e->getMessage());
}
return $this;
}
}
मुझे उम्मीद है यह मदद करेगा!