[РЕШЕНО] CurrancyRate не сохраняет charcode в БД

Приветствую, после установки компонента и обновления курсов в таблице с курсами на вкладке компонента в админке столбик с буквенными кодами валит содержит одни 0, в БД тоже самое, при этом если вывести в лог данные
public function rateIntoDb()
    {
        if ($this->loadRate()) {
            // add RUB
            if (!$itemFromDb = $this->modx->getObject('CRlist', array('numcode' => $this->rub['numcode']))) {
                $itemFromDb = $this->modx->newObject('CRlist');
                $itemFromDb->fromArray(array_merge(
                    $this->rub,
                    array(
                        'nominal'   => 1,
                        'value'     => 1,
                        'valuerate' => 1,
                        'rank'      => 0
                    )));
                if (!$itemFromDb->save()) {
                    $this->modx->log(1,
                        print_r('[CR:Error] save to db for charcode - ' . $itemFromDb->get('charcode'), 1));
                }
            }
            foreach ($this->list as $item) {
               
                if (!$itemFromDb = $this->modx->getObject('CRlist', array('numcode' => $item['numcode']))) {
                    $itemFromDb = $this->modx->newObject('CRlist');
                    $itemFromDb->set('rank', $this->modx->getCount('CRlist'));
                }
                $item['rate'] = $itemFromDb->get('rate');
                $item = $this->calcData($item);
                $itemFromDb->fromArray($item);
                 $this->modx->log(1, $itemFromDb->get('charcode')); // ВОТ ЗДЕСЬ charcode есть
                if (!$itemFromDb->save()) {
                    $this->modx->log(1, print_r('[CR:Error] save to db for charcode - ' . $item['charcode'], 1));
                }
            }
            $this->cleanCache();

            return true;
        }
        $this->modx->log(1, print_r('[CR:Error] NO loadRate()', 1));

        return false;
    }
то, буквенный код на месте и вроде как даже записывается в БД. Ошибок в консоли нет, в логах тоже пусто. Кто знает в чём прикол? На другом сайте работает, но как я этого добился не помню, а может работало из коробки, хотя версии компонента на обоих сайтах одинаковые. Версия движка последняя, php везде 5.6 и выше.
Артур Шевченко
19 августа 2020, 16:12
modx.pro
351
0
Поблагодарить автора Отправить деньги

Комментарии: 2

Павел Романов
19 августа 2020, 18:07
0
Не совсем уверен, но проверьте phptype у этого поля в карте и схеме:
core/components/currencyrate/model/currencyrate/mysql/crlist.map.inc.php
core/components/currencyrate/model/schema/currencyrate.mysql.schema.xml
Поставьте string.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
2