试图在标题中描述我的问题很困难。我的意思是这个。我有3张桌子。工作,日记,文件。 每个日记条目与Job具有belongsTo关系。每个文档与日记都有属关系。
如何查询文档,以便返回属于单个作业的所有文档。
Document-> diary_id引用Diary-> id - Diary-> job_number_id引用Job-> id
这些个人关系都已建立并开始运作。
我尝试过不同的查询但没有成功。
任何帮助表示赞赏。 问候 Finchy70
答案 0 :(得分:1)
使用HasManyThrough
关系:
public function documents() {
return $this->hasManyThrough(Document::class, Diary::class, 'job_number_id');
}
$documents = $job->documents()->paginate(15);
答案 1 :(得分:0)
我继续研究并尝试不同的雄辩查询,并找到了一个有效的查询。 不确定它有多么经济,但确实有效。
$documents = $job->diary()
->with('job')
->join('documents', 'diary_id', '=', 'diaries.id')
->select(['documents.*'])
->paginate(15);
如果有人有更好的解决方案,请分享。