Arkadaşlar merhaba.Mantığını kuramadım günlerdir hep ertelediğim konuda yardım istiyorum. Şimdi 1 er adet users ve friends tablolarım var.friends tablomun içinde users_1 ve users_2 tabloları var. users_1 i arkadaş isteğini gönderen , users_2 yi ise alıcı olarak kabul ediyorum.Buradaki amacım sayfaya giren kişi arkadaş olmadığı kişileri gösterecek.Örnek vermem gerekirse,
users_1:sisteme giren kişinin id users_2 users tablosunda bulunan bir kişinin id
Bunlar arkadaş olmadığı için sayfada gösterilmiycek.Tabi bunun tam terside olabilir.users_1 ve users_2 yerde değiştirebilirim.Uzun süredir bunu çözemedim.Umarım anlatabilmişimdir.Yardımlarınızı bekliyorum.
Users tablosunun içine kullanıcı bilgilerini gir.
Friends tablosunda da arkadaş olanların id'lerini ekleyeceğin iki alan olsun.Örnek; id | friendId 1 2 1 3 2 1 3 1
Bu durumda 1 numaralı kullanıcı hem 2 hem de 3 numaralı kullanıcı ile arkadaş.Ama 2 ve 3 numaralı kullanıcılar arkadaş değil.Anlaşılır olması için böyle yazıyorum.Yoksa tablodaki verilerin yarısı silinebilir.Ama sistemin mantığı bu şekilde.
Veritabanı,model,controller,auth vb. hallettiğini varsayarak devam ediyorum.İd değeri 1 olan kullanıcı giriş yaptığında friends tablosunda id'si 1 olan satırlardaki friendId kısmına bakacak.Bu kısımda hangi kullanıcının id değeri yoksa onları gösterecek.
Hocam böyle yazılması mantıksız değil mi?1 numaralı id ye sahip kullanıcıysam 2 tane alan yerine veritabanına 4 tane alan yazıyorum.Veritabanınada yük oluyor aynı zamanda sayılar çoğaldıkça.Hemde arkadaş isteği kabul etme ve etmeme durumu da var oda friends tablosunda 0 veya 1 değerini alıyor.İsteğin kimin gönderdiğini ayırt edemem.