Я бы сказал, что ваши отношения должны выглядеть примерно так:
User hasMany Quiz
Quiz hasMany Question
Question hasMany Answer
Quiz belongsTo User
Question belongsTo Quiz
Answer belongsTo Question
Это позволит вам получить более 4 ответов, если требования когда-либо изменятся.
Вещирассмотреть, возможно:
Как вы собираетесь проверить, если ответ правильный?Булево, сравнение строк?
Что если заданный вопрос запрашивает что-то, что вы не могли бы легко показать в ситуации «да / нет» или «правда / ложь»?Эта проблема может никогда не возникнуть, если вы хотите ограничить множественный выбор, но она может возникнуть.
Как вы оцениваете тест?Еще одна таблица для хранения статистики об истории пользователей?Или это одноразовое использование сеансов?
использование save all
// view
echo $this->Form->create('Question', array('action'=>'add'));
echo $this->Form->input('Question.name', array('label'=>'Question name'));
echo $this->Form->input('Answer.0.title', array('label'=>'Answer'));
// etc
// add method
if (!empty($this->data)) {
$this->Question->saveAll($this->data, array('validate'=>'first'));
}
должно быть всем, что вам нужно ~