Example 1: laravel join
Inner Join : ->join('contacts', 'users.id', '=', 'contacts.user_id')
Left Join : ->leftJoin('posts', 'users.id', '=', 'posts.user_id')
Right Join : ->rightJoin('posts', 'users.id', '=', 'posts.user_id')
Cross Join : ->crossJoin('colors')
Advance Queries :
->join('contacts', function ($join) {
$join->on('users.id', '=', 'contacts.user_id')
->where('contacts.user_id', '>', 5);
})
Example 2: laravel join
use Illuminate\Support\Facades\DB;
$users = DB::table('users')
->join('contacts', 'users.id', '=', 'contacts.user_id')
->join('orders', 'users.id', '=', 'orders.user_id')
->select('users.*', 'contacts.phone', 'orders.price')
->get();
Example 3: laravel join table
$users = DB::table('users')
->join('contacts', 'users.id', '=', 'contacts.user_id')
->join('orders', 'users.id', '=', 'orders.user_id')
->select('users.*', 'contacts.phone', 'orders.price')
->get();
Example 4: laravel wher in
$users = DB::table('users')
->whereIn('id', [1, 2, 3])
->get();
Example 5: laravel join
$latestPosts = DB::table('posts')
->select('user_id', DB::raw('MAX(created_at) as last_post_created_at'))
->where('is_published', true)
->groupBy('user_id');
$users = DB::table('users')
->joinSub($latestPosts, 'latest_posts', function ($join) {
$join->on('users.id', '=', 'latest_posts.user_id');
})->get();
Example 6: laravel having
$users = DB::table('users')
->groupBy('account_id')
->having('account_id', '>', 100)
->get();