Twittersの "follow"機能と似た機能を作りたいのですが、そのようなもののためにデータベース構造をどのように作成するのか不思議です。"follow"機能のデータベース構造はtwitterと似ていますか?
ID、ユーザ名
そして、このようになりますポストテーブル:
私たちは、このようなユーザーテーブルを持っていると言いますID、ユーザーID、ポスト、日付
私がしたいことは、ユーザーに他のユーザーをフォローさせてから、ストリーム内で自分の投稿を取得させることです。だから私はフォローテーブルがあるべきだと思っています。どのユーザーがどのユーザーの後ろに挿入できるか。しかし、それからストリームをどのようにクエリするのですか?ユーザー1は、私が
SELECT posts FROM $peopleIfollow ORDER BY date
のようなクエリを作りたいしかし、あなたは、上記の例は有効なクエリではありません参照として、ユーザ2と3を次の場合は、どのように私は-informationを「追跡」し、その結果を照会集めることができますか?それとも、これを達成するために探している構造は何ですか?フォロワを配列に入れ、配列にクエリを入れることは可能でしょうか?私はその後、あなたがポストに
SELECT *
FROM post_table
LEFT JOIN following
ON following.following_id = post_table.userid
WHERE following.follower_id = ?
LIMIT 0, 20;
のようなものを取得したい
following(follower_id, following_id)
...と考えることができます
これはSQLの多対多の関係です。多くのユーザーには多くのユーザーがいます。これについてはオンラインの文献が数多くありますが、基本は2列の表になります。 1つは、2番目の列でユーザーに従うユーザーです。次に、ユーザー1があなたに従っているかを調べるために、SELECTのような何かをするでしょう。follow_id from followTable where user_id = user1;これは、user1が従うユーザーIDの完全な行を返します。 – thatidiotguy