我在Laravel 5.4中构建一个SaaS Web应用程序,我将拥有我的客户,客户将拥有自己的客户。为客户及其客户或具有角色的单个用户模型分别拥有两个用户模型是一个好主意吗?如果客户也是某个不同客户的客户,那么会发生什么?
欢迎任何建议。
答案 0 :(得分:0)
对于主要用户,您向(您的客户)销售的最终用户使用模型user
对于他们的客户,请使用名为clients
对于组织,最好是您的模型使用自己的权限。所以会有一个UserRole和ClientRole表
您应该能够通过多种关系将客户端链接到用户模型。所以你的模型结构应该类似于:
User
- ID
- Email
- Password
Client
- ID
- Email
- Password
- User -- relationship to /User::ID
UserRoles // Pivot Table
- ID
- Role -- relationship to /Roles::ID
- User -- relationship to /User::ID
ClientRoles // Pivot Table
- ID
- Role -- relationship to /Roles::ID
- Client -- relationship to /Client::ID
Roles // Can also be hard coded with a ACL system
- ID
- Role Name
- ETC...
就个人而言,我希望我的权限尽可能地动态,所以我喜欢像这样构建我的角色表
Roles // Can also be hard coded with a ACL system
- ID
- Role Name
- Description
- Route URL (To pickup as an event)