菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
100
0

使用 Eloquent ORM 使用 with 模型关联查询同字段的解决

原创
05/13 14:22
阅读数 925

如何在with模型关联的时候,对于两个表中的相同字段都有条件的解决。不了解的话,大家可以先去看我之前在社区的一个问题,当时并没有得到很好的解决。
问答:两表使用 with 关联模型后,怎么实现不同表字段的条件查询和分组?

今天呢又遇到了这个问题,所以必须解决掉。网上资料呢,和自己要的结果不一样,emm...没有找到答案。然后自己整了一个多小时。给大家分享一下。这么些已经很清楚了吧?

        $sale_item_daily_price_info = SaleItemsDailyPriceSchedule::with([
            'schedule_info'=>function($query) use ($sale_item_id){
                   return $query->select('sale_item_id','start_time','new_price','schedule_id')
                   ->where('status','=',1)
                   ->whereIn('sale_item_id',$sale_item_id);
            }
        ])
        ->select('id')
        ->where('status','<>',9)
        ->where('start_time','>=',date('Y-m-d H:i:s'))
        ->get();

最重要的一点不要忘记,如果你想要指定字段,使用select时,一定一定要将两个表的关联字段写道里面,不然是查不到关联关系的

不过使用with的时候,各位小伙伴一定要使用对hasMany和belongsTo(一对多的关系)。关系搞乱了数据也是不对?,注意点就好了。

发表评论

0/200
100 点赞
0 评论
收藏
为你推荐 换一批