首页  >  问答  >  正文

获取同时被某人关注并且关注该人的用户的SQL查询

我有一个场景,我想查找正在关注用户 X 且用户 X 正在关注他们的用户。

查看以下架构: 带有测试值的数据库表

我们有follower_id和following_id, 现在假设我们要检查 id 23 的用户是否正在关注某人并且他们也正在关注他。

如您所见,用户 22 正在关注用户 23, 因此我们希望从用户表中获取用户 22 的详细信息,例如姓名和电子邮件。

用户 23 关注了 24,但用户 24 没有关注用户 23,因此我们不会将用户 24 包含在列表中。

请帮我编写查询以获取上述场景的用户列表。 谢谢

更新

因为我需要有关用户的更多信息。我现在正在 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粉562845941P粉562845941203 天前295

全部回复(1)我来回复

  • P粉356128676

    P粉3561286762024-03-30 15:18:57

    雷雷

    ###ID### 7 ###22### ###23### ###23### ###22###

    回复
    0
  • 取消回复
  • follow_id 下面_id
    6