Но у меня там нет $cart_rule->add()) ;(((
В вашем коде используется метод
save выполняющий доп. проверку на существование объекта, тк. купон новый - это лишено смысла и можно использовать
add, но и это лишено смысла тк. - экономия на спичках
Попробуйте подобный код, замените:
Код:
return ($cart_rule->save() ? $cart_rule : false);
на:
Код:
if($res = $cart_rule->save())
{
Db::getInstance()->insert('cart_rule_group', ['id_cart_rule' => $cart_rule->id, 'id_group' => 3]);
Db::getInstance()->insert('cart_rule_group', ['id_cart_rule' => $cart_rule->id, 'id_group' => 4]);
}
return ($res ? $cart_rule : false);
код не проверял, если возникнут ошибки сообщите