私はテーブルのユーザーがあります。表のデザインのアドバイス
user_id - name
をそしてそれらのユーザーが記事を作成し、他のメンバーと共有することができ、テーブルの記事:
article_id - user_id - article_name
質問が最良の方法ですそれを共有する...私は別のテーブルを考えている:
share_id - article_id - user_id
これは、 aerticleと作成者は、作成した記事のテーブルに追加または削除できるアクセス権を持っています
したがって、記事作成者(user_id 123)が記事を見ると、彼は他のすべてのユーザーのリストを見ることができます
select as.user_id, a.article_name from article_shares as
join users u on u.user_id = as.user_id
join articles a on a.article_id = as.article_id where u.user_id = '123'
で各記事を共有しており、利用者(USER_ID 456)は、彼らが
select a.article_name from articles a
join article_shares as on as.article_id = a.article_id
where as.user_id = '456'
を共有してきた記事の一覧を見ることができ、これは論理的に見えるのか?正しい軌道にいるのですか?
ありがとうございました
私にはうまく見えます。共有記事を見ることができるユーザーに共有記事を関連付けるには何らかの方法が必要です。もっと簡単な方法は考えられません。 – Jay
@Jayありがとう、ちょうど2日前にジョイントについて教えてくれたので、時間をかけて見てくれてありがとう! –
あなたは正しい道を歩いています。 JOINを使用して快適になったら、それはすべてフォーム(INNER、LEFTなど)で行うことができません。 :) –