在 laravel 11x 中显示 2 个表的数据

问题描述 投票:0回答:1

我可以将数据输入到两个不同的表中,即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]));
}
php laravel one-to-many
1个回答
0
投票

无需单独获取答案,因为

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
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.