質問

うまくいけば、これはばかげた質問ですが、私の脳は揚げられていて、今それをどうやってやるのか考えられません。

ソーシャルネットワーキングを面白くしようとしていますが、その人の「フォロワー」を追跡する必要があります。ユーザーテーブルは既に作成されていますが、ユーザーが互いに関連付けられているという考えをどのように表現できますか? これは一方通行の関係であるため、「好き」な人は人b、その逆は必ずしも真実ではありません。

考えられる唯一のことは、1対1のリレーションシップのリストがあるテーブルだけです。したがって、

user a -> user b  
user a -> user c  
user a -> user d  
user b -> user d  
user b -> user c  
...  

しかし、これは私には思えます。

ありがとう

サイモン

編集:たぶんツイッターのフォロワーは私がやろうとしていることに似ています

役に立ちましたか?

解決

次のようなフォロワーID情報のみを保持するテーブルを作成します。

user_id | follower_id

そうすべきです。たとえば、ユーザー#56を使用します。

おそらく、フォロワーテーブルに次のような行があるでしょう:

56 | 53453
56 | 323
56 | 463

両方の列に一意の制約を追加するだけで、誰かが2度友達になることはできません。

他のヒント

おそらく次のようなテーブル:

RelationshipId    Follower Target
Int               Int      Int

フォロワーはUserAのID、ターゲットはUserBのID、UserAはUserBをフォローしています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top