SQL query to get users who are both followed by someone and follow that person
P粉562845941
P粉562845941 2024-03-29 22:20:07
0
1
335

I have a scenario where I want to find users who are following user X and user X is following them.

View the following architecture: Database table with test values

We have follower_id and following_id, Now let's say we want to check if the user with id 23 is following someone and they are also following him.

As you can see, user 22 is following user 23, So we want to get the details of user 22 like name and email from user table.

User 23 follows 24, but user 24 does not follow user 23, so we will not include user 24 in the list.

Please help me write the query to get the list of users for the above scenario. Thanks

renew

Because I need more information about the user. I'm currently implementing a slow solution in Laravel.

$UsersIAmFollowing = UserFollowing::where('follower_id', $user->id)->get();
        $UsersFollowingMe = UserFollowing::where('following_id', $user->id)->get();
        $friends = [];
        foreach ($UsersIAmFollowing as $userIamFollowing) {
            foreach ($UsersFollowingMe as $userFollowingMe) {
                if($userIamFollowing->following_id == $userFollowingMe->follower_id){
                    array_push($friends, User::find($userIamFollowing->following_id));
                }
            }
        }

        dd($friends);

P粉562845941
P粉562845941

reply all(1)
P粉356128676
select t.id 
      ,t.follower_id    
      ,t.following_id
from   t join t t2 on t2.following_id = t.follower_id 
         and          t.following_id = t2.follower_id
id follow_id Below_id
7 twenty two twenty three
6 twenty three twenty two
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template