October 30, 2023 laravel
Laravel 10 Join Dengan Beberapa Kondisi
Laravel 10 query builder menyediakan method untuk melakukan join.
User::join('posts', 'users.id', '=', 'posts.user_id')
->get();
Join dengan beberapa kondisi bisa dilakukan menggunakan closure pada argument kedua method join
.
use Illuminate\Database\Query\JoinClause;
User::join('posts', function (JoinClause $join) {
$join->on('users.id', '=', 'posts.user_id');
$join->on('users.country', '=', 'posts.country');
})->get();
Join dengan perbandingan kolom dan nilai, nilai perlu dimasukkan ke DB::raw
atau menggunakan where
pada join
.
use Illuminate\Database\Query\JoinClause;
use DB;
User::join('posts', function (JoinClause $join) {
$join->on('users.id', '=', 'posts.user_id');
$join->on('posts.country', '=', DB::raw('ID'));
$join->where('posts.status', '=', 'draft');
})->get();
Sumber: