Pertanyaan SQL untuk mendapatkan pengguna yang kedua-duanya diikuti oleh seseorang dan mengikuti orang itu
P粉562845941
P粉562845941 2024-03-29 22:20:07
0
1
359

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粉562845941
P粉562845941

membalas semua(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 Following_id
7 22 23
6 23 22
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan