Какие пользователи ответили на какие опросы
При создании расширения для LimeSurvey я создал отдельную функциональность UserAccount вне оригинального пакета LM. Однако мне бы хотелось, чтобы, когда пользователь отправлял ответы на опрос, идентификатор пользователя и идентификатор опроса сохранялись. У меня проблемы с пониманием, где это сделать. Модель ответов "Сохранение ответов" выглядит следующим образом:
function insertRecords($data)
{
$ans = new self;
foreach ($data as $k => $v)
$ans->$k = $v;
try
{
return $ans->save();
}
catch(Exception $e)
{
return false;
}
}
Мне интересно, как это сделать, я могу получить идентификатор пользователя и идентификатор опроса, чтобы это не было проблемой, я просто не знаю, какая часть кода отвечает за сохранение опроса. Любые советы будут оценены, -D
2 ответа
Я делаю нечто подобное, и я использую комбинацию API Remote Control и дополнительных полей атрибутов.
Я использую поля атрибутов для отслеживания идентификатора пользователя (между прочим) между таблицами токенов и опросов, создавая скрытые вопросы с "ответами" атрибутов по умолчанию, а затем использую API дистанционного управления для управления ими.
Таким образом, в принципе, функциональность для этого уже существует, вам не нужно ничего переписывать или добавлять!
Я предполагаю, что вы используете limesurvey 2. В этом случае ответы на опрос сохраняются в
limesurvey/application/helpers/expresssions/em_manager_helper.php ->
_UpdateValuesInDatabase() .