Rumah  >  Soal Jawab  >  teks badan

Pertanyaan SQL untuk mendapatkan pengguna yang kedua-duanya diikuti oleh seseorang dan mengikuti orang itu

Saya mempunyai senario di mana saya ingin mencari pengguna yang mengikuti pengguna X dan pengguna X mengikuti mereka.

Lihat seni bina di bawah: Jadual pangkalan data dengan nilai ujian

Kami mempunyai follower_id dan following_id, Sekarang katakan kita ingin menyemak sama ada pengguna dengan id 23 mengikuti seseorang dan mereka juga mengikutinya.

Seperti yang anda lihat, pengguna 22 mengikuti pengguna 23, Jadi kami ingin mendapatkan butiran pengguna 22 seperti nama dan e-mel daripada jadual pengguna.

Pengguna 23 mengikuti 24, tetapi pengguna 24 tidak mengikuti pengguna 23, jadi kami tidak akan memasukkan pengguna 24 dalam senarai.

Sila bantu saya menulis pertanyaan untuk mendapatkan senarai pengguna bagi senario di atas. Terima kasih

Dikemas kini

Sebab saya perlukan maklumat lanjut tentang pengguna. Saya sedang melaksanakan penyelesaian perlahan dalam 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 hari yang lalu297

membalas semua(1)saya akan balas

  • P粉356128676

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

    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 Following_id
    7 22 23
    6 23 22

    balas
    0
  • Batalbalas