我正在创建一个简单的应用程序,其中用户通过 OAuth 系统登录,并将他们的用户 ID 存储在会话中。
我的数据库有 3 个表:用户、组和页面
- 一个用户可以在多个组中
- 一个组可以有多个用户
- 一个页面可以有很多组
所以基本上在我的设置区域:
- 可以将用户分配到组
- 可以将组添加到页面以允许访问
然后我可以使用用户的 ID 来查找他们所在的组,然后选择他们有权访问的页面 ID。然而,这种方法似乎很冗长,我认为会涉及很多循环(另外,我想我会得到许多相同的页面 ID 回来?)。
我的解释的草图:
http://i.imgur.com/oFVsniH.png
我确实觉得有更好的方法来实现这一点 - 使用一个“数据透视”表和 3 个表......类似于:
http://i.imgur.com/IZfhZO1.jpg
如果有人可以深入了解什么是最好的,以及我的关系(MtM)是否正确,那就太棒了。
仅供参考:在 Laravel 4 上构建它
谢谢!