Какие пользователи ответили на какие опросы

При создании расширения для 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


person Dite Gashi    schedule 05.10.2013    source источник
comment
что такое save()? хотя, наверное, catch.   -  person Math chiller    schedule 05.10.2013
comment
save() сохраняет данные прямо в таблицу, потому что модель принадлежит этой таблице.   -  person Dite Gashi    schedule 06.10.2013


Ответы (2)


Я делаю нечто подобное и использую комбинацию API удаленного управления и дополнительных поля атрибутов.

Я использую поля атрибутов для отслеживания идентификатора пользователя (среди прочего) между таблицами токенов и опросов, создавая скрытые вопросы с «ответами» атрибутов по умолчанию, а затем использую API удаленного управления для управления ими.

Таким образом, в основном функциональность уже существует для вас, вам не нужно ничего переписывать или добавлять!

person Grenoble    schedule 04.12.2013

Я предполагаю, что вы используете Limesurvey 2. В этом случае ответы на опросы сохраняются в

limesurvey/application/helpers/expresssions/em_manager_helper.php -> 
_UpdateValuesInDatabase() .
person nithin    schedule 11.10.2013
comment
Модель ответов предназначена для сохранения вариантов ответа на вопрос. Это не связано с сохранением ответов на опрос. Ответы на опрос сохраняются в таблице Lime_survey_‹sid›. - person nithin; 11.10.2013