如何在不同的表中创建 3 种类型的用户,但他们都有电子邮件、密码、用户名? [关闭]

Posted

技术标签:

【中文标题】如何在不同的表中创建 3 种类型的用户,但他们都有电子邮件、密码、用户名? [关闭]【英文标题】:How yo make 3 types user in different table but they have all a email, password, username? [closed] 【发布时间】:2021-10-15 23:26:07 【问题描述】:

我计划开发一个包含三种类型用户(管理员、企业、个人)的系统。我想将每个用户的信息存储在一个单独的表中以用于数据差异。这三个都有用户名、密码和电子邮件。怎么做?

【问题讨论】:

如果你打算使用 Laravel,最好使用带有 role 列的单个 users 表(允许每个用户拥有一个角色,例如 admin、@987654324 @ OR personal),或带有数据透视表role_userroles 表来链接它们(允许每个用户拥有一个或多个角色,例如adminbusinessadminpersonal,只是admin 等)您需要选择最适合您的方法,但是为每个用户提供一个表可能是最糟糕的方法,因为它不适用于 Laravel 的模型和关系(说根据经验) Do you have a link explaining what you say and how it works...我说的有什么你不明白的地方吗? 【参考方案1】:

我想将每个用户的信息存储在单独的表中

...不,这是个坏主意。不要像那样去规范化你的模式,它会给你带来很多问题。

相反,只需在用户表中添加一个名为“角色”的列,以指示他们是什么类型的用户。

如果您需要仅对某些类型的用户有用的其他字段,那么要么

a) 将它们作为可选字段放入用户表中,或

b) 创建与主表具有 1-1 关系的单独的基于角色的表。

(恕我直言,第一个选项更灵活,需要更少的维护。)

【讨论】:

以上是关于如何在不同的表中创建 3 种类型的用户,但他们都有电子邮件、密码、用户名? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Firebase 中创建不同的用户组?

如何在 Django 中创建两种类型的用户?

用户如何在ldap服务器中创建用户后登录?

如何在Django中创建从Abstract User继承的多个用户配置文件?

如何在 C# 中创建包含不同类型的字典类型?

在系统中创建用户ID的最佳做法是什么?