我正在制作一个laravel应用程序而我正处理一个问题。
table users:
-id
-name
table teams:
-id
-name
table team_agent
-agent_id (users.id)
-team_id
table team_leader
-leader_id (users.id)
-team_id
一个团队只能有一个领导者和多个代理人。 一个代理商可以只是一个团队的一部分。 一个领导者只能分配给一个团队。
在用户模型上,我有函数team(),它应该返回用户的团队。
如果我想在用户模型上拥有2个功能,那么最佳做法是什么。一个返回用户团队(如果是代理)和一个返回团队的团队(如果是领导者)。
我是否正确使用枢轴表为领导者部分做了什么?或者我应该将leader_id放在团队表中? 我真的不知道如何处理这部分。
或者我应该将leaders_id添加到users表中的team_id和team_id吗?
答案 0 :(得分:0)
我会称之为角色的雄辩模型。哪个会跟踪哪个用户具有哪个团队的角色。业务逻辑将确保一个团队只有一个领导者,而一个团队只属于一个团队。
表格角色
表role_type (包含领导者和用户)
表用户
表团队