关于groupBy和selectRaw的问题。

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

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

楼主,做这个赚钱不?

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年前

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