如:表a,连接表b,b中有多条符合查询的记录
1、建立需要的子查询
$sub = DB::table('b')->select(['aid'])->selectRaw('max(id) as id')->grouBy('id');
2、建立连接查询
$_list = DB::table('a')->leftJoin(DB::raw('({$sub->toSql()}) as b),'a.id','=','b.aid)->get()
这样就可以使得左连接查询中右表记录只查询一条,避免左表记录重复出现。这里在只是筛选右表中第一条,其它条件暂时还没有实现。
开发中遇到的问题,先记录一下,防止以后再次出现。