模型联合查询返回指定字段

$infos = Apply::with(['records'=>function($q){
            $q->select('apply_id','apporver','reason','created_at');
        ])
        ->whereIn('id',$ids)
        ->where('s_date','>',date("Y-m-d",strtotime("-180 day")))
        ->where('hr_flag',1)
        ->select('id','apply_type','s_date','e_date','reason','proposer_name')
        ->get();

核心是 select字段里必须包含关联字段 这里面 apply_id 和 id 是关联字段。

每天收获一点点

前端JSON.parse(); 有时候会出现字段数据里有逗号不能解析的错误,暂时解决方案是把字段里的逗号转义或替换别的。
本作品采用《CC 协议》,转载必须注明作者和本文链接
写代码是一件趣事。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2
GDDD

这是模型关联查询,不是模型联合查询。如果你没有做预载入,查询性能差。反正看情况一般做联合查询join

2年前 评论
adong (楼主) 2年前

如果只是查询指定字段,没有其他查询条件,可以使用下面的方法,更方便。

Apply::with('records:apply_id,apporver,reason,created_at')
2年前 评论
adong (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!