我有一個場景,我想尋找正在關注用戶 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粉3561286762024-03-30 15:18:57
雷雷
follow_id | 下面_id | |
---|---|---|
6 | ###23### ###22###