私が作成しようとしているのは、ユーザーをフォローするのではなく、共有するコンテンツのセクションに従うフォロー/フォローシステムです。ほとんどの場合、あなたはTwitterの "リスト"やグループではなく、人々を追跡しているようです。しかし、これで、ユーザーが共有しているすべてのものをフォロー/アンフォローできますし、必要なリストをフォロー/アンフォローすることもできます。グループまたはリストのデータベーススキーマのフォロー/フォロー解除
例#1:私はユーザ#1のリストに従うが、政治について1をアンフォローするボタン「すべてをたどる」をクリックしてください。今私は彼らが1つのリストを除いて共有しているもののすべてに従っています。私は彼らの信者です。
例#2:は私の代わりに「すべてをたどる」ボタンをクリックするだけで1ユーザ#の2のリストに従ってください。私は1つのリストだけを見るべきであり、リストのすべてを見るべきではありません。
シンプルなフォロー/フォローシステムの構造は、user_id => follower_id
スキーマのテーブルである可能性がありますが、それはユーザーが作成する新しいリストを考慮しません。
質問:これに最も適したデータベーススキーマは何ですか?
ここでは、基本的なリンケージテーブルに加えて、follower =>を保存するメタシステムが必要です。パブリッシュ/サブスクライバ設定。これは、フォロワー=>パブリッシャーを格納することができます。パブリッシャが新しいリストを追加すると、そのメタテーブルのフォロワセットにメッセージがブロードキャストされ、サブスクライブされているすべてのフォロワーの新しいローが作成されます。 – PorridgeBear
@PorridgeBear私はそれについて考えましたが、もっと簡単な解決策が必要なようです... – stwhite