【问题标题】:Laravel - Best strategy to model tables relationsLaravel - 建模表关系的最佳策略
【发布时间】:2018-11-05 08:47:27
【问题描述】:

我有以下问题。

我正在尝试找出在用户-角色-商店-学校之间组织关系的最佳方式。

一个用户可以有多个角色附加到一个商店或一个学校,所以一个人可以创建现实:

“用户 [testuser@email.com] 是学校 [HighSchool1] 的 [root]”

还有

“用户 [testuser@email.com] 是商店 [Store1] 的 [用户]”

因此,一个用户可以拥有多个角色,但这些角色附加到学校或商店

一开始我打算这样做......

``` 用户 -ID -姓名 -电子邮件 -密码

Roles
-id
-name

Roles_user
-id
-rol_id
-user_id
-school_id           //whatch this
-store_id             //whatch this

School
-id
-name

Store
-id
-name

问题是,在未来,系统还可以处理超市......我将更改我的角色_用户表以为此附加新列。

我怎样才能做到这一点......使用 corse Eloquent 和关系?

【问题讨论】:

标签: database laravel database-design eloquent relation


【解决方案1】:

取决于您想要实现的目标。我会建议你 business_typebusiness_id 例如

Roles_user
-id
-rol_id
-user_id
-business_type           //whatch this
-business_id             //whatch this

Business_type 可以采用诸如学校、商店、超市、酒店等的值,或者从已注册企业表中获取它们的 id。

这完全取决于您想要实现的目标。希望对你有帮助

【讨论】:

  • 我想到了多态关系。但我不知道如何从用户实例中检索用户的学校/商店....
  • 当用户登录时,识别商家。然后从roles_user 中选择user_id 和business_type 和business_id。我根据我的回答发表评论
  • 非常感谢您的帮助,尽管我想使用普通 SQL 来检索具有此模型的用户的角色......我试图避免它。但就应该做什么和如何做而言,答案是正确的。
猜你喜欢
  • 2010-10-25
  • 1970-01-01
  • 1970-01-01
  • 2020-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多