我正在创建Laravel应用程序,并且必须决定如何设置数据库。我有4种用户类型:管理员,教练,玩家,父母。我使用的是Laravel默认的身份验证工具(因为它可以完成工作并且我喜欢它),并且您知道,它创建了一个Users表供您处理密码,电子邮件等。但是,我的四种用户类型中的每一种将需要其他字段,这些字段之间几乎没有重叠。
此外,对于“玩家”类型,“玩家”表中将需要有未链接到用户的玩家(如果某个玩家在团队中,但尚未注册帐户)。
我的想法是:如果我只是为每种用户类型创建一个新表,然后通过一对一多态关系将其链接回默认的Users表,然后将其命名为“一天”呢?我知道在这里(Laravel: Table structure for multiple users types, polymorphic relationships曾有人问过这个问题,但是在这个问题上,他们只轻触了Auth问题,这对我正在做的事情来说意义重大。
我可以想到的替代方法(我从未尝试过,但这听起来像是一场噩梦般的设置)是让Laravel开始在每个这些特定于用户类型的表中放置密码和电子邮件,然后当用户登录时,他们要么必须指定自己的角色(这很糟糕?),要么我遍历每个表,直到找到匹配为止。还是不。
让我知道您的想法。我认为可能没有绝对的“最佳方法”来做到这一点,但我想征求意见。