Rumah > Soal Jawab > teks badan
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粉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 |