将 SQL 内部联接自定义转换为 Eloquent Laravel

Convert SQL Inner Join Custom to Eloquent Laravel

我可以将我的自定义 SQL 语法转换为 Eloquent Laravel,这是我的 SQL 语法:

SELECT a.* FROM krs a INNER JOIN (
                SELECT kode_matakuliah, MAX(bobot) as bobot_max
                FROM krs
                WHERE nim = 133341043
                GROUP BY kode_matakuliah
            ) b ON a.bobot = b.bobot_max AND a.kode_matakuliah = b.kode_matakuliah 
WHERE nim = 133341043

明白了!我找到路了。

Krs::select(DB::raw('krs.*'))
   ->join(DB::raw('(SELECT kode_matakuliah, MAX(bobot) as bobot_max
       FROM krs
       WHERE nim = 133341043
       GROUP BY kode_matakuliah) as b'),function($join){
       $join->on('krs.kode_matakuliah', '=', 'b.kode_matakuliah')
          ->on('krs.bobot', '=', 'b.bobot_max');
       })
   ->where('krs.no_bukti',1)
   ->where('krs.nim',133341043)->get();