我在期刊项目工作,我有3个主要表相关 Volumes-> issues->制品
卷有很多问题但问题有一个卷
问题有很多文章但文章有一个问题
一切正常,但我有一个棘手的步骤
我希望在查看所有文章时获得卷名。我想在检索文章时查看以下内容
article name | vol name/issue name
我成功获得问题名称,因为我在文章模块和问题模块之间有关系,但我不知道如何在每个文章中获取卷名
<tr>
<th>Title</th>
<th>Vol/Issue</th>
</tr>
@foreach($articles as $article)
<td>{{ $article->title }}
<td>{{ ??? }} / {{$article->issue->name}}</td>
@endforeach
答案 0 :(得分:1)
假设你拥有在每个模型中设置的属于关系的行为与你的关系有很多关系:
class Article extends Model
{
public function issue()
{
return $this->belongsTo(Issue::class);
}
}
class Issue extends Model
{
public function volume()
{
return $this->belongsTo(Volume::class);
}
}
在检索文章时,您应该能够急切加载issue
关系和issue
volume
关系,如下所示:
$articles = Article::with(['issue', 'issue.volume'])->get();
并在您的视图中(假设您使用name
属性):
{{ $article->issue->volume->name }}
有关此内容的更多信息,请查看&#34;嵌套预先加载&#34;在documentation
中