Breathnote
Laravelのクエリビルダで複合主キーテーブルをJOINする

Laravelのクエリビルダで複合主キーテーブルをJOINする

SQLのJOINは、ON以降をANDで連結しますが、クエリビルダではon ()のチェーンで同じ挙動になりました。

SQL
SELECT *
FROM A
LEFT JOIN B
    ON A.PK1 = B.PK1
    AND A.PK2 = B.PK2
PHP
DB::table('a')->leftJoin('b', function ($join) {
    $join->on('a.pk1', 'b.pk1')->on('a.pk2', 'b.pk2');
})->get();