laravel eloquent model join 4 tabels code example

Example 1: join in eloquent laravel 5.8

->leftJoin('reg-session as rs', function ($q) use ($es) {
    $q->on('rs.regID', '=', 'event-registration.regID')
        ->on('rs.personID', '=', 'p.personID')
        ->on('rs.sessionID', '=', 'es.sessionID')
        ->where('es.sessionID', '=', $es->sessionID);
})
  
  
  $sub1 = DB::table('membership_years')
    ->select('member_id', DB::raw('MAX(membership_year) AS max_my'))
    ->groupBy('member_id');

$sub2 = DB::table('membership_years as my1')
    ->select('my1.*')
    ->join(DB::raw('(' . $sub1->toSql() . ') my2'),
            function ($join) {
                $join
                    ->on('my1.member_id', '=', 'my2.member_id')
                    ->on('my1.membership_year', '=', 'my2.max_my');
            });

$query = DB::table('membership as m')
    ->select('my.membership_year', 'm.*')
    ->join(DB::raw('(' . $sub2->toSql() . ') my'), 'm.id', '=', 'my.member_id')
    ->orderBy('m.id');

Example 2: laravel join 2 tables eloquent

$select->joinSub(
                    $selectSubQry,
                    'ag',
                    'ag.id',
                    '=',
                    'agp.userId'
                );

Tags:

Php Example