Lassen Sie uns versuchen, es einfach zu halten. Sie versuchen im Wesentlichen, einen Weg zu finden, zwei Benutzer miteinander zu verbinden.
Da ich versuche, die Dinge einfach zu halten und definitiv nicht implizieren möchte, dass dies der beste Weg ist, denke ich, dass es der einfachste ist Eine Möglichkeit, dies zu tun, besteht darin, eine neue Tabelle (users_friends) mit den folgenden Feldern zu erstellen:(user_id) und (friend_id).
Nehmen wir an, meine user_id ist 5. Ihre user_id ist 10.
Ich möchte Sie als meinen Freund hinzufügen, daher würde ich dieser neu erstellten Tabelle einen Eintrag mit den folgenden Werten hinzufügen:user_id =5, friend_id =10.
Nehmen wir also an, Sie möchten alle meine Freunde anzeigen, Sie könnten eine Abfrage wie die folgende ausführen:
SELECT * FROM `users` WHERE `user_id` IN ( SELECT `friend_id` FROM `users_friends` WHERE `user_id` = '5' );
Natürlich ist das Entfernen eines Freundes einfach, alles, was Sie tun müssen, ist, den Eintrag aus der neu erstellten Tabelle zu löschen ...
DELETE FROM `users_friends` WHERE `user_id` = '5' AND `friend_id` = '10';
Und puh, plötzlich bist du nicht mehr mein Freund;)
Also ja, das sind die Grundlagen. Ich würde diese Lösung ausprobieren, bevor ich zu einer Lösung übergehe, die Ihnen mehr Flexibilität bietet.