获取同时被某人关注并且关注该人的用户的SQL查询
P粉562845941
P粉562845941 2024-03-29 22:20:07
[MySQL讨论组]

我有一个场景,我想查找正在关注用户 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粉562845941
P粉562845941

全部回复(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 以下_id
7 22 23
6 23 22
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号