Laravel关联查询如何嵌套预加载获取教授关联User集合而非仅user_id
解决方案
只需修改CourseHourProfessor控制器的预加载参数即可,Laravel Eloquent支持嵌套预加载,使用点语法即可加载关联的关联数据,无需改动现有模型关联定义。
修改后的控制器代码
public function getById($id) { return CourseHourProfessor::with(['course','professor.user','hour'])->where('id', $id)->get(); }
补充说明
- 上述写法会自动将professor关联下的user数据嵌套到返回结果的professor节点中,完全匹配你需要的返回格式
- 如果出现user对象字段缺失的情况,检查
App\User模型的$hidden属性,把需要暴露的字段从隐藏列表中移除即可
内容的提问来源于stack exchange,提问作者Waafa Oueslati
相关产品推荐
相关产品推荐

