laravel 8 left join table eloquent code example
Example 1: left join laravel
$users = DB::table('users')
->leftJoin('posts', 'users.id', '=', 'posts.user_id')
->get();
$users = DB::table('users')
->rightJoin('posts', 'users.id', '=', 'posts.user_id')
->get();
Example 2: 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');