【发布时间】:2017-09-22 01:42:22
【问题描述】:
我想要什么:
- 获取数据库中用户回答的
grade(如果存在)并获取该回答的等级。
我有什么:
- 我有
3表、short_answer、sa_sa_answer、short_answer_answer。 - 现在,
short_answer表有问题,每个问题在short_answer_answer表中都有多个答案,并且等级也包含在其中,问题可以有1 个或多个 答案。
我有什么代码:
控制器
foreach($sa_question_id as $key => $value){
$sa = ShortAnswer::with('answers')->find($sa_question_id[$key]);
$possible_answers = [];
foreach($sa->answers as $possible_answer){
$possible_answers[] .= strtolower($possible_answer->answer);
}
if(in_array(strtolower($sa_answer[$key]), $possible_answers)){
$grade = ShortAnswerAnswer::where('answer', $sa_answer[$key])->get();
echo "plus +1. Grade is: " . $grade->grade . "<br>";
}
}
问题是:
我只是得到答案等于用户答案的答案。但是,如果我有 两个 相同的答案和不同的 grade 以及明显不同的问题怎么办。它可以选择错误的。
注意: 我使用的是 Laravel5.1
更新: 表结构
short_answer
- name
- question
sa_sa_answer
- short_answer_id
- short_answer_answer_id
short_answer_answer
- answer
- grade
我已经解决了这个问题,但是没有人得到赏金,但是如果你能回答this question,我可以给你赏金加上2复选标记和投票,我只是真的需要更多帮助。它也与这个问题有关。赏金将在 3 天后消失。
【问题讨论】:
-
确实如此。我更新了它。请立即查看