当我尝试像这样嵌套 Eager 加载时
$journal = Journal::with(['pages','pages.articles'])->select('id','titre','date')->findOrFail($id);
这是可行的,但是当我尝试为嵌套关系添加选择以仅获取像这样的特定列时:
$journal =Journal::with(['pages'=> function ($query) {
$query->select('id','thumbnail');
},'pages.articles'=> function ($query) {
$query->select('id','images','areas');
}])->findOrFail($id);
我只得到带有空页面
的父模型(Journal
)
{
"id": 3,
"numero": "2219",
"titre": "J2219",
"date": "2018-12-13",
"created_at": "2019-01-03 10:16:59",
"updated_at": "2019-01-08 11:04:42",
"deleted_at": null,
"pages": []
}
最佳答案
我是这样解决的
$content =Journal::with(['pages:id_journal,id','pages.articles:id_page,titre'])->select('id','titre','date')->findOrFail($id);
是的,关于外键
关于Laravel 嵌套预加载并选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55048919/