Проблема с $DB->update_record

Проблема с $DB->update_record

от tsit ucp -
Количество ответов: 1

Добрый день.

Столкнулся с неожиданным поведением $DB->update_record.

Есть таблица в БД, в которую при наступлении события окончания теста нужно записать информацию. Часть информации в таблице уже есть под этим id, то есть нужно обновить имеющуюся запись.

Столкнулся с тем, что все значения, кроме одного, успешно записываются:

        $res->id = $id;
        $res->quiz_result = $quiz_result;
        $res->quiz_date = time();
        $res->timemodified = time();        
        $res->uid= "VJ654789";
        $res->attempt_id = $attempt_id; <- вот это значение не записывается
        
        $r = $DB->update_record($table, $res, $bulk=false);

В логах запросов к БД есть запись, в которой видно, что до SQL это значение даже не дошло. То есть в SQL-запрос попали все значения, кроме этого:

678 Query	UPDATE mdl_user_additional SET user = '12538',quiz = '2604',quiz_type = '0',quiz_result = '0', uid= 'VJ654789', quiz_date = '1610293556',modifier_id = '12485',timecreated = '1610290071',timemodified = '1610293556' WHERE id='26'

PHP ошибок или предупреждений нет.

Пробовал изменять тип данных для этого значения в таблице, приведение типов в PHP, заново создавал таблицу, всячески изменял название (имя свойства) - ничего не помогает. Фактически, $attempt_id = целое число (около 203 879).


Сталкивался ли кто-нибудь с таким поведением $DB->update_record?