我有一个问题表,其中包含所有问题。我还有一个答案表,其中包含所有答案。 一个问题可以有多个答案,答案只属于一个问题。 所以问题是如何通过它的id来获取问题,它还应该包含属于这个问题的所有答案。
答案型号
class Answer extends Model
{
public function question()
{
return $this->belongsTo('App\Question');
}
}
问题模型
class Question extends Model
{
public function answers()
{
return $this->hasMany('App\Answer');
}
}
我怎么能写一个查询,我已经尝试了一些,但我现在很困惑
答案 0 :(得分:0)
每次访问问题模型的答案属性时,Eloquent都会加载并返回所有相关答案,因此以下代码可以解决问题:
$answers = $question->answers;
在加载多个问题时,您应该考虑使用 eager-load 以更有效的方式加载相关答案 - 对所有问题使用一个查询,而不是针对每个问题单独查询:
$questions = Question::with('answers')->get();
foreach ($questions as $question) {
$questionAnswers = $question->answers;
}