さて、これをシンプルにしようとしましょう。基本的に、2人のユーザーをつなぐ方法を見つけようとしています。
私は物事をシンプルに保つように努めており、これが最善の方法であることを意味するものではないので、最も簡単だと思います これを行う方法は、次のフィールドを使用して新しいテーブル(users_friends)を作成することです:(user_id)および(friend_id)。
さて、私のuser_idが5だとしましょう。あなたのuser_idは10です。
あなたを友達として追加したいので、新しく作成したテーブルに、user_id =5、friend_id=10のエントリを追加します。
したがって、私の友達全員を表示したいとします。次のようなクエリを実行できます。
SELECT * FROM `users` WHERE `user_id` IN ( SELECT `friend_id` FROM `users_friends` WHERE `user_id` = '5' );
案の定、友達を削除するのは簡単です。新しく作成したテーブルからエントリを削除するだけです...
DELETE FROM `users_friends` WHERE `user_id` = '5' AND `friend_id` = '10';
そして、あなたは突然私の友達ではなくなりました;)
そうですね、これが基本です。柔軟性を高めるソリューションに進む前に、このソリューションを試してみます。