首页 > 解决方案 > Laravel 嵌套急切加载和选择

问题描述

当我尝试这样的嵌套渴望加载时

 $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我只得到空的父模型( )pages

  {
   "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": []
}

标签: laraveleloquenteager-loading

解决方案


我这样修

$content =Journal::with(['pages:id_journal,id','pages.articles:id_page,titre'])->select('id','titre','date')->findOrFail($id);

是的,关于 外键


推荐阅读