如:表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()
這樣就可以使得左連接查詢中右表記錄只查詢一條,避免左表記錄重復出現。這里在只是篩選右表中第一條,其它條件暫時還沒有實現。
開發中遇到的問題,先記錄一下,防止以后再次出現。