内联的 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
```
join
功能Laravel
是有相应支持的。查询构造器:joins另外我倾向于使用关联关系解决这个问题,
join
在数据量大的情况下还是有点开销的 查询已存在的关联$query = Table->select();
if($member_id) { $query->where('member_id'); }else{ $query->where('type'); }