内联的 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

```

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2

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

4年前 评论

$query = Table->select();

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

4年前 评论

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