Laravel - How to use subquery in select statement?

Laravel - How to use subquery in select statement?

In this tutorial, I will let you know how to write subquery inside the select statement in Laravel 5. Laravel allows users to write a raw query using DB::raw() method.

Use Case

Sometime we need to develop the application where we need to get user details with their followers like "Instagram" app.

In Instagram app when you visit the user profile, you will see the total number of posts, their followers and following count.

In this scenario, we can write a mysql function or use subquery in select statement.

For this example, i will have two tables users and user_followers.

Let's assume that user table has fields id, name, email and user_followers table has id, user_id, follower_id.

First i will use the MySQL raw query to get details in following way :

MySQL Raw Query
SELECT 
 users.*, 
 (SELECT count(*) FROM user_followers
   WHERE user_followers.user_id = users.id
  ) as total_followers
FROM `users`
Laravel Query Builder

Now I will write the query in Laravel to achieve same functionality.

  $data = \DB::table("users")
          ->select("users.*",
                  \DB::raw("(SELECT count(*) FROM user_followers
                          WHERE user_followers.user_id = users.id
                        ) as total_followers"))
          ->get();
  dd($data);    

Phone: (+91) 8800417876
Noida, 201301
sakarya escort akyazı escort arifiye escort erenler escort eve gelen escort ferizli escort geyve escort hendek escort otele gelen escort sapanca escort söğütlü escort taraklı escort
sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort serdivan escort sapanca escort karasu escort hendek escort ankara escort
sakarya escort kızlar sakarya escort kaliteli sakarya escort vip sakarya escort elit sakarya escort bayan sakarya escort adresleri.