【发布时间】:2018-06-28 12:37:22
【问题描述】:
我有一个这样的数据库结构:
表格:
users(id, email, password, ...) //默认 laravel 用户表
考生(id, user_id, ...)
exam_quizzes(ID、标题、解释)
exam_quiz_answers(id、title、exam_quiz_id、is_correct_ans)
submitted_answers(id、user_id、exam_quiz_id、exam_quiz_answer_id)
我已经设置了各自的模型和关系方法。
型号:
User, Examinee, ExamQuiz, ExamQuizAnswer, SubmittedAnswer
关系:
// User -> hasOne() -> Examinee
$user->examinee
// ExamQuiz -> hasMany() -> ExamQuizAnswer
$examQuiz->examQuizAnswers
// SubmittedAnswer -> hasMany() -> ExamQuiz
$submittedAnswer->examQuizzes
// SubmittedAnswer -> hasMany() -> ExamQuizAnswer
$submittedAnswer->examQuizAnswers
// User -> hasMany() -> SubmittedAnswer
$user->submittedAnswers
在我看来,如何在像这样的表:
<tr>
<th>Name</th>
<th>Answered</th>
<th>Correct</th>
</tr>
@foreach()
{{-- I have no idea what to do here --}}
<tr>
<td></td>
<td></td>
<td></td>
</tr>
@endforeach
【问题讨论】:
-
你试过什么?什么不工作?。
-
我不知道该尝试什么。这就是为什么我的刀片 foreach 指令中的参数列表是空白的。一些提示怎么样,我可以试试?
-
Stackoverflow 是针对问题而不是为您提供解决方案,因此您不必自己动手。但有一个提示:Total Answered。你有
$user->submittedAndwers所以要得到总数你必须数他们laravel.com/docs/5.5/collections#method-count -
对于全部正确答案,您需要模型中的另一个函数。我会将它添加到用户模型
submittedCorrectAnswers -
如果您只需要计数,最好只返回计数而不是所有匹配的记录。函数类似于
getCorrectAnswerCount和getSubmittedAnswerCount...
标签: php sql laravel eloquent blade