Я пишу опрос с Laravel 4 и вам нужно, чтобы пользователи могли проходить один и тот же опрос несколько раз (и их ответы сохранялись как разные экземпляры).
В настоящее время у меня есть сводная таблица, называемая survey_user, которая связывает пользователя с приглашенным опросом. Потенциально положительный побочный эффект сводной таблицы заключается в том, что ее первичный ключ может использоваться для создания уникальных экземпляров опроса.
Моя проблема заключается в том, как получить ответы, в частности, через модель пользователя. Таблица ответов содержит внешний ключ для первичной таблицы сводных данных.
Моя модель пользователя:
class User extends Eloquent { public function surveys() { return $this->belongsToMany('Survey', 'survey_user') ->withPivot('id', 'completed_at'); } public function answers() { // This should return all of the user's answers, irrespective of // survey id's. } }
Таблицы:
surveys: id users: id survey_user: id, survey_id, user_id, completed_at answers: survey_user_id, answer_text, ...
Как я могу выполнить эти psuedo-отношения или, возможно, лучший способ структурирования?