内联的 sql 语句怎么优雅的用 ORM 写出来

我写了一个冗余的字段 type 如果不用冗余的话 就查询
buy_type =1

       $list = MemberDecorateKnapsack::where([
            ['member_id', '=', $member_id],
            ['end_time', '>', time()],
            ['type', '>', $type],
        ])
            ->orderByDesc('id')
            ->select()->get();

sql语句是这样子写就可以不冗余字段了..在orm中如何写优雅的写出来.

SELECT *
FROM member_decorate_knapsack as d
INNER JOIN goods_decorate as g
ON member_id = 6674124703403081728 and d.decorate_id = g.id and buy_type =1

```

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 2

join 功能 Laravel 是有相应支持的。查询构造器:joins
另外我倾向于使用关联关系解决这个问题,join 在数据量大的情况下还是有点开销的 查询已存在的关联

4年前 评论

$query = Table->select();

if($member_id) { $query->where('member_id'); }else{ $query->where('type'); }

4年前 评论

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