@ শোয়েব মুনির ও @ আর কে রাঠোদের উত্তরের পরে , এই টেবিলগুলি রানটাইমে আপডেট হবে না তাই আপনাকে প্রতিবার থেকে রিফ্রেশ পরিসংখ্যান চালানো দরকার 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;
}
}
আমি আসা করি এটা সাহায্য করবে!