How to call \Magento\Sales\Model\ResourceModel\Grid::refresh method
I am following this link: blog.sivaschenko.com
<?php
namespace Vendor\OrderGridSync\Controller\Index;
class Sync extends \Magento\Framework\App\Action\Action
{
protected $_pageFactory;
protected $_postFactory;
/**
* @var \Magento\Sales\Model\ResourceModel\Grid[]
*/
protected $grids;
/**
* @param array $grids
*/
public function __construct(
\Magento\Sales\Model\ResourceModel\Grid $grids,
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\View\Result\PageFactory $pageFactory
)
{
$this->grids = $grids;
$this->_pageFactory = $pageFactory;
return parent::__construct($context);
}
public function execute()
{
/**
* Refresh grids list
*
* @param int $orderId
* @return $this
*/
foreach ($this->grids as $grid) {
/**
* @var \Magento\Sales\Model\ResourceModel\Grid[]
*/
$grid->refresh(81, "affiliate_information");
}
exit;
}
}
Getting
1 exception(s):
Exception #0 (BadMethodCallException): Missing required argument
$mainTableName of Magento\Sales\Model\ResourceModel\Grid.