laravel5.6 eloquent with 通过闭包筛选特定 field

一. 一对一关系
hasOne
通过外键关联

goods_order表和goods_order_status表

goods_orde模型
在这里插入图片描述
使用with查询某个订单号及其的状态

GoodsOrder::where($where)
                    ->select('uid','userinfo_id','platform_type','order_id','account_uid','order_time','goods_id','goods_name','pict_url','pay_money','num','commission_rate','commission','rights_cash','calculate_time')
                    ->orderBy('order_time','desc')
                    ->with(['orderId' => function ($query){
                        $query->select(['status','order_id']);  //order_id 是外键,不加不显示关联的数据
                    }])
                    ->paginate($parameter['limit'])
                    ->toArray();

使用加where条件

$status = self::WAIT;
                $where = [
                    'platform_type' => $parameter['platform_type'],
                    'uid' => $uid,
                ];
                $goodsOrder = GoodsOrder::where($where)
                        ->select('uid','userinfo_id','platform_type','order_id','account_uid','order_time','goods_id','goods_name','pict_url','pay_money','num','commission_rate','commission','rights_cash','calculate_time')
                        ->orderBy('order_time','desc')
                        ->with(['orderId' => function ($query) use($status){
                            $query->where(['status'=>$status])->select(['status','order_id']);
                        }])
                    ->paginate($parameter['limit'])
                    ->toArray();
                $goodsOrder = $this->emptyErr->nullToEmpty($goodsOrder);
                return $goodsOrder;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太阳上的雨天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值