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

$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 协议》,转载必须注明作者和本文链接
写代码是一件趣事。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 2
GDDD

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

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

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

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

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