我可以将数据输入到两个不同的表中,即question表和answer表。但我很难根据每个 id_question 显示数据。我已经尝试过了,但是答案表中的数据都显示出来了。
这是每个表的一些示例数据。
问题
身份证 | 问题 |
---|---|
1 | 正确答案是 |
2 | 阿尼几岁了? |
回答
身份证 | id_问题 | 回答 |
---|---|---|
1 | 1 | 给予 |
2 | 1 | 给定 |
3 | 1 | 给了 |
4 | 1 | 增益 |
5 | 2 | 8岁 |
6 | 2 | 9岁 |
7 | 2 | 10岁 |
8 | 2 | 11岁 |
这是我的控制器:
public function question Dashboard(){
$questions = Question::with('answers')->get();
$answers = Answer::with('questions')->get();
return view('admin.questionDashboard', ([`questions`=>$questions, `answers`=>$answers]));
}
无需单独获取答案,因为
with()
方法已经急切加载它们。以下是调整控制器的方法:
更新控制器:
public function questionDashboard() {
$questions = Question::with('answers')->get();
return view('admin.questionDashboard', ['questions' => $questions]);
}
然后确保
Question
和 Answer
模型设置正确的关系。
问题模型:
public function answers()
{
return $this->hasMany(Answer::class, 'id_question');
}
答案型号:
public function question()
{
return $this->belongsTo(Question::class, 'id_question');
}
刀片视图: 您可以像这样循环浏览每个问题及其相关答案:
@foreach ($questions as $question)
<h3>{{ $question->question }}</h3>
<ul>
@foreach ($question->answers as $answer)
<li>{{ $answer->answer }}</li>
@endforeach
</ul>
@endforeach