关于groupBy和selectRaw的问题。

本人sql一般,现在遇到个问题请教下路过的大佬。
业务场景:用户下单后,不同的维修人员每天接N单,然后每天定时脚本查询订单给维修人员结算。
脚本内容:
Order::with(“worker)
->whereHas(“worker”, funtion($query)
{$query->groupBy(“workerId”)})
->selectRaw(“sum(fix_fee) as income”);
大概的订单查询分组代码如上:
遇到问题:查询完结果后,给骑手创建一个账单,
但是查询结果并没有关联的worker数据,无法给对应的维修人员创建账单。而只是有selectRaw查询的income字段。希望路过的大佬给与指点

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

楼主,做这个赚钱不?

4年前 评论
赌赌赌赌赌赌赌圣! (作者) 4年前
赌赌赌赌赌赌赌圣! (作者) 4年前
osang (楼主) 4年前
赌赌赌赌赌赌赌圣! (作者) 4年前
osang (楼主) 4年前
osang (楼主) 4年前
讨论数量: 5

咨询个问题,现在有用户下单后,你们是怎么推送给维修人员呢???还是说维修人员自己去抢单????

4年前 评论
osang (楼主) 4年前
sunny123456 (作者) 4年前

再把workerid查出来不就行了

selectRaw('workerid, sum(fix_fee) as income');
4年前 评论
osang (楼主) 4年前
北冥
    $res = nutrition::with(['user' => function ($query) {
       // $query->groupBy(“workerId”); 条件写这里试试
        $query->select('id','name','idCard');
    }])->whereIn('user_id',$user_ids)->orderBy('user_id')->get();
4年前 评论

楼主,做这个赚钱不?

4年前 评论
赌赌赌赌赌赌赌圣! (作者) 4年前
赌赌赌赌赌赌赌圣! (作者) 4年前
osang (楼主) 4年前
赌赌赌赌赌赌赌圣! (作者) 4年前
osang (楼主) 4年前
osang (楼主) 4年前

这个语句好乱,因为你的查询语句里面没有查workerId,所以无法关联上工人信息,这样试试呢

Order::with('worker')
->select('workerId')
->selectRaw("sum(`fix_fee`) as income");
->whereHas('worker')
->groupBy('workerId');
4年前 评论
osang (楼主) 4年前

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