我的应用程序数据库中有两个表用于两种用户,治疗师和患者,都使用用户名和密码登录/退出,我想确保不能有治疗师和患者同样用户名,我该怎么做?
同样,是否可以为治疗师和患者使用相同的会话控制器?
答案 0 :(得分:1)
用户不应该有两个不同的表。您可能应该有一个User表,其中包含一个指定User角色的字段。这使得使用单选按钮或Web应用程序中的下拉列表选择用户角色变得特别容易,并且还允许您在用户记录的各个方面强制执行唯一性。
然而,为什么名为“约翰史密斯”的病人不可能有一位名叫“约翰史密斯?”的治疗师?在强制执行特定的唯一性约束之前,我会考虑这个问题。
最后,会话通常在控制器之间共享,并且控制器当然可以一次从多个模型中读取。在您的情况下,重构为通用用户模型将减少在这方面做复杂事情的需要。