1

次のシナリオ: 現在、結合などを使用して MySQL で複雑なアクセス許可システムを構築しようとしています。そのほとんどは魅力のように機能しますが、今の問題は次のとおりです。

まず、テーブルのセットアップ: (外部リンクで申し訳ありませんが、現時点ではエディターが機能していないようです)。

表: http://pastebin.de/36727 データ: http://pastebin.de/36726

わかった:

ユーザーは、グループのメンバーになることで権利を取得します。(それはうまくいきます!)

だから、しかし今、私はユーザーに特別な権利を提供できるようにしたい(グループには含まれていない)

どうすればそれができますか?それは私の試みです(しかし、問題は、特別な権利が存在する場合、結果に返されないことです):

SELECT DISTINCT
    `user`.`username`,
    `right`.`name`

FROM
    `user`

INNER JOIN
    `user_group` ON
        `user`.`id` = `user_group`.`user_id`

INNER JOIN
    `group` ON
        `user_group`.`group_id` = `group`.`id`

INNER JOIN
    `group_right` ON
        `group`.`id` = `group_right`.`group_id`

INNER JOIN
    `right` ON
        `group_right`.`right_id` = `right`.`id`

LEFT JOIN
    `user_right` ON
        `user_right`.`user_id` = `user`.`id` AND
        `user_right`.`right_id` = `right`.`id`

WHERE
    `user`.`username` = 'Domi'

私の英語はそれほど上手ではないので、私が何を意味するか知っていただければ幸いです。

4

0 に答える 0