关于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 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

楼主,做这个赚钱不?

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

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

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

再把workerid查出来不就行了

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

楼主,做这个赚钱不?

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

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

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

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