Baiklah, mari kita coba sederhanakan ini. Pada dasarnya, Anda mencoba menemukan cara untuk menghubungkan dua pengguna bersama-sama.
Karena saya mencoba untuk menjaga semuanya tetap sederhana, dan jelas tidak menyiratkan bahwa ini adalah cara terbaik untuk melakukannya, saya pikir yang termudah cara untuk melakukannya adalah dengan membuat tabel baru (users_friends) dengan field berikut:(user_id) dan (friend_id).
Nah, katakanlah user_id saya adalah 5. User_id Anda adalah 10.
Saya ingin menambahkan Anda sebagai teman saya, oleh karena itu saya akan menambahkan entri ke tabel yang baru dibuat dengan nilai berikut:user_id =5, friend_id =10.
Jadi, katakanlah Anda ingin menampilkan semua teman saya, Anda dapat menjalankan kueri seperti:
SELECT * FROM `users` WHERE `user_id` IN ( SELECT `friend_id` FROM `users_friends` WHERE `user_id` = '5' );
Benar saja, menghapus teman itu mudah, yang harus Anda lakukan hanyalah menghapus entri dari tabel yang baru dibuat ...
DELETE FROM `users_friends` WHERE `user_id` = '5' AND `friend_id` = '10';
Dan poof, kamu tiba-tiba bukan temanku lagi;)
Jadi ya, inilah dasarnya. Saya akan mencoba solusi ini sebelum beralih ke solusi yang akan memberi Anda lebih banyak fleksibilitas.