我的应用程序有几种具有不同属性集的用户,例如:客户和员工。一个用户可能属于这些角色中的一个以上。所以我决定让我的数据库有这个(简化的例子)结构:
users (contains the fields applicable to all different kinds of users)
id
username
email
customers (contains fields applicable to customer role)
id
user_id
shipping_address
employees (contains fields applicable to employee role)
id
user_id
salary
问题 1:这是处理具有许多不同属性的用户角色的好方法吗?实际上,我有六个角色,包含 7-20 个属性。有些角色甚至不是传统的角色,而是像额外的属性一样无聊。如果用户决定使用 Facebook 帐户登录,则 Facebook_account 表适用。
问题 2:当使用 ORM 时,在我的 Eloquent 案例中,让角色模型(客户)扩展用户模型是否有意义?当我获取客户对象时,我真的希望将所有用户 och 客户属性放在一起,而不必手动合并它们。