Я здесь немного новичок, поэтому, пожалуйста, поправьте меня, если я тупой.
Я импортировал около 5 миллионов купонных кодов в Magento 2, и все работает довольно быстро, за исключением связи с таблицей '' salesrule_customer ''.
Так что я подумал, что просто избавлюсь, если нужно будет проверить параметр Customerid и всегда иметь все параметры, действующие для всех правил корзины.
И здесь мне нужна помощь. Я не могу найти область наверняка, где эта проверка происходит. Так что я не знаю, что переопределить в моем модуле.
Я немного разбираюсь в: Magento \ SalesRule \ Model \ ResourceModel \ Rule
Но я, честно говоря, совсем растерялся.
Кто-нибудь здесь, кто делал это раньше или знает, как это сделать?
Я думаю, что следующий код может быть виновником:
/**
* Limit rules collection by specific customer group
*
* @param int $customerGroupId
* @return $this
* @since 100.1.0
*/
public function addCustomerGroupFilter($customerGroupId)
{
$entityInfo = $this->_getAssociatedEntityInfo('customer_group');
if (!$this->getFlag('is_customer_group_joined')) {
$this->setFlag('is_customer_group_joined', true);
$this->getSelect()->join(
['customer_group' => $this->getTable($entityInfo['associations_table'])],
$this->getConnection()
->quoteInto('customer_group.' . $entityInfo['entity_id_field'] . ' = ?', $customerGroupId)
. ' AND main_table.' . $entityInfo['rule_id_field'] . ' = customer_group.'
. $entityInfo['rule_id_field'],
[]
);
}
return $this;
}
Я тоже могу быть совершенно неправ.