PHP ve MySQL çok-çok ilişkileri bir veritabanı işlemek için en iyi yol arıyorum.
Şu anda 2 tablolar var:
Users (id, user_name, first_name, last_name)
Connections (id_1, id_2)
User
tabloda id
add ve user_name
benzersiz artırılır otomobil olduğunu, ancak değiştirilebilir. Ne yazık ki, user_name
üzerinde kontrolü ve değiştirilmesi kabiliyetini yok, ama ben bunun hesabını vermeli.
Connections
tablo açıkçası, user1 ve kullanıcı2'ın id.
Bağlantı tablo bu olası ilişkileri hesaba gerekiyor:
user1 --> user2 (user 1 friends with user 2 but not user2 friends with user1)
user2 --> user1 (user 2 friends with user 1 but not user1 friends with user2)
user1 <--> user2 (user 1 and user 2 mutually friends)
user1 <-!-> user2 (user 1 and user 2 not friends)
O kısmı ben yaşıyorum sorun ne zaman ve eğer gruplar değiştirmek benzersiz bu ilişkileri tutuyor, sorun değildir.
Olası çözüm 1: 1 ilişkileri kullanıcının tüm silmek ve güncellenen listesi ile bunları readd. Bu benim ihtiyaçları için çok yavaş olabileceğini düşünüyorum.
Çözüm 2? Başkasının bu sorunla karşılaşırsınız? Nasıl en iyi ben hallederim gerekir?
güncelleme: ilişkileri ayırt:
ben böyle ilişkileri ele:
user1, user2
user1, user3
user2, user1
in that example the following is true:
user1 follows user2 and user3
user2 only follows user1 but doesn't follow user3
user3 doesn't follow either user1 or user2