Laravelのクエリビルダ:JOIN

INNER JOIN

$users = DB::table('users')
    ->join('posts', 'users.id', '=', 'posts.user_id')
    ->get();

JOIN の中で、さらに AND など複数の条件で絞り込みたい場合は、use で変数を渡せます。

$users = DB::table('users')
    ->join('posts', function ($join) use ($pref) {
        $join->on('users.id', 'posts.user_id')
            ->where('posts.pref', $pref);
    })
    ->get();