私はテーブル users を持っています:
user_id - name
そして、それらのユーザーは記事を作成し、それを他のメンバー、テーブル記事と共有できます:
article_id - user_id - article_name
質問はそれを共有するための最良の方法です...私は別のテーブル article_shares を考えています:
share_id - article_id - user_id
これにより、その記事へのアクセス権を持つすべてのユーザーが一覧表示され、作成者は作成した記事のテーブルから追加または削除できるアクセス権を持つことになります。
したがって、記事の作成者 (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'
これは論理的に思えますか?私は正しい軌道に乗っていますか?
助けてくれてありがとう