【发布时间】:2018-10-20 22:32:01
【问题描述】:
我正在创建一个在线测试门户。
表结构是
- live_test (收集测试的不同数据) - {id, title, instructions, total_questions, is_published, per_question_mark, per_question_negative_mark, duration}
- questions(存储问题)- {id, live_test_id, index, type, question, option_1, option_2, option_3, option_4, solution}
- live_test_user (判断用户是否已经做过测试) - {id, user_id, total_mark}
- live_test_answers(查明用户是否给出了正确答案 - 供以后分析) - {id, question_id, user_id, answer_given, is_correct}
这是完美的工作。我只是想知道我们可以建立任何关系以便我们可以执行
$question->user->answer
或者,类似的,
$user->question->answer
轻松发现用户是否对特定问题给出了正确答案。
每个用户的每个问题在live_test_answers中只有一个条目。
【问题讨论】:
-
我已阅读文档。没有这样的,我只是想知道有没有人做过这种关系。
-
阅读Eager loading,特别是在Nested Eager Loading下
-
@apokryfos 这需要模型之间的关系。这就是我要问的是这里是否存在任何关系。我将有问答的对象,我可以轻松地做到 $answer = Question::where(['question_id' => $question_id, 'user_id' => $user_id])->first();找到给定的答案。我只是想知道这里是否存在任何关系。
-
@apokryfos live_test_answer 表同时包含 id、user_id 和 question_id。