DATABASE DESIGN.
次の表は、与えられたものに問題があります。
group_id | right_id | mode
----------------------------
1 | 1 | edit
----------------------------
1 | 2 | edit
----------------------------
3 | 1 | read
----------------------------
3 | 3 | read
----------------------------
1 | 3 | edit
----------------------------
4 | 3 | denied
----------------------------
たとえば、グループ 1 と 3 のすべての権限が必要です。二重の結果を防ぐために、結果を right_id でグループ化したい 問題はモード列です。あなたが提案するように、モードは、あなたが何かを読んだり編集したりできるかどうかを決定します(または何も「拒否」されません)
グループ 1 と 3 の権利の結果は次のようになります。
right_id | mode
----------------------------
1 | edit
----------------------------
2 | edit
----------------------------
3 | edit
----------------------------
グループ 3 の読み取りモードは上書きする必要があります。
これを解決する方法がまったくわかりません。これをphpで作成することもできますが、可能であれば1つのクエリでこれを行いたいです。
条件付きグループがなければ、どのモードが選択されるかは完全にランダムに見えます。
さらにモードは値を持つ列挙型です
'denied', 'read', 'edit'
PS
上記のほぼすべての推奨リンクを読みましたが、どれも役に立ちません:(
これまでありがとう!:)