我有3张桌子。第一表日记
id | journal_name
6 | xyz journal
7 | abc journal
第二个表卷
id | journal_id | volume_name
1 | 6 | volume1
2 | 6 | volume2
3 | 7 | volume3
第三表文章
id | journal_id | volume_id | articles
1 | 6 | 1 | volume1
2 | 6 | 1 | volume2
3 | 7 | 3 | volume3
4 | 7 | 3 | volume4
现在,如果单击日志名,则显示卷名,然后单击卷名,然后打开相关文章。
但是我需要一次journal_name和volume_name。和多次文章。
控制器方法是:
public function viewarticles($id)
{
$articles = article::where('volume_id',$id)->with('journal','volume')->get();
return view('viewarticles',compact('articles'));
}
文章模型为:
function journal()
{
return $this->belongsTo(journal::class, 'journal_id');
}
function volume()
{
return $this->belongsTo(volume::class, 'volume_id');
}
它多次给所有表。 但是我只需要日志和卷表中的一行。还有文章中的多个记录(如果有记录的话)。