MySQLに5つのテーブルがありますが、これはSQLの問題だと思います
ユーザー
ユーザー情報
USER_RIGHTS
101=正しく読む
102=書き込み権
グループ
投稿
たとえば、ユーザー2に対して、ユーザー2がそのグループの読み取り権101を持っているユーザーによって作成されたすべての投稿を選択したいと思います。
たとえば、私は3つの投稿があります
投稿1グループ1に投稿投稿2グループ1に投稿投稿3グループ2に投稿投稿4グループ1に投稿
と
WHERE user2 has 101 right in group 1 ==> SHOW post1 2 3
また
WHERE user2 has 101 right in group 2 ==> SHOW post2
また
WHERE user2 has 101 right in both group 1 and group 2 ==> SHOW post2
私が今まで持っているのは
SELECT * FROM posts
INNER
JOIN user_info
ON posts.posted_by = user_info.user_id
INNER
JOIN groups
ON posts.posted_in = groups.group_id
INNER
JOIN user_rights
ON user_rights.user_id = user_info.user_id
WHERE user_rights.right = '101' AND user_info.user_id = ".$UserId." ORDER BY id DESC;
このコードは、すべての投稿を2回返します。