1Inner Join : ->join('contacts', 'users.id', '=', 'contacts.user_id')
2Left Join : ->leftJoin('posts', 'users.id', '=', 'posts.user_id')
3Right Join : ->rightJoin('posts', 'users.id', '=', 'posts.user_id')
4Cross Join : ->crossJoin('colors')
5
6Advance Queries :
7-----------------
8 ->join('contacts', function ($join) {
9 $join->on('users.id', '=', 'contacts.user_id')
10 ->where('contacts.user_id', '>', 5);
11 })
12
1$users = DB::table('users')
2 ->join('contacts', 'users.id', '=', 'contacts.user_id')
3 ->join('orders', 'users.id', '=', 'orders.user_id')
4 ->select('users.*', 'contacts.phone', 'orders.price')
5 ->get();
1 $customer = DB::table('customers')
2 ->join('shops', 'customers.shop_id', '=', 'shops.shop_id')
3 ->where('customer_contact', $contact_no)
4 ->get();
1$subCategories = Subcategory::join('categories', 'subcategories.category_id', '=', 'categories.id')
2 ->select('subcategories.*', 'categories.name AS cname')
3 ->orderBy('id', 'desc')
4 ->get();
5
1$latestPosts = DB::table('posts')
2 ->select('user_id', DB::raw('MAX(created_at) as last_post_created_at'))
3 ->where('is_published', true)
4 ->groupBy('user_id');
5
6$users = DB::table('users')
7 ->joinSub($latestPosts, 'latest_posts', function ($join) {
8 $join->on('users.id', '=', 'latest_posts.user_id');
9 })->get();
1->join('answers as answers', 'responses.answer_id', '=', 'answers.id', 'left outer')