【问题标题】:Laravel models relationships [closed]Laravel 模型关系 [关闭]
【发布时间】:2020-04-02 07:41:00
【问题描述】:

所以我正在开发这个应用程序,我们有用户模型,用户有不同的角色,如编辑、管理员、主管、读者……等等,我们还有另一个模型,我们称之为文章应该有一个外键来指代管理员,还有另一个外键来指代读者。在这种情况下,管理员和读者都是用户,但他们有不同的角色,我应该如何在我的文章模型中引用他们?我应该写一些类似的东西:

user_admin_id

user_reader_id

或者有更好的方法吗?

【问题讨论】:

  • 通常当你在stackoverflow上提问时,你需要提供你用来解决问题的代码,你的问题感觉有点稀疏。
  • 这个案例还没有代码,有一个(普通或无聊的)用户表/模型和一个文章表/模型。对我来说重要的是理解这个概念,当用户具有不同的角色时,如何将用户表与文章表联系起来。

标签: php laravel eloquent model foreign-keys


【解决方案1】:

如果您应该为用户和管理员使用相同的模型,您可以使用 Eloquent Relations (https://laravel.com/docs/5.8/eloquent-relationships) 轻松创建表之间的关系

您应该有一个roles 表和一个user_roles 表,您可以在其中保存用户拥有的所有角色。这样,您可以使用中间件检查用户是否具有管理员角色,然后您可以授予他更多权限。

您不应该使用两列链接到users 表,因为这在数据库设计中是不好的做法。

【讨论】:

    猜你喜欢
    • 2019-04-04
    • 2023-02-20
    • 2018-07-11
    • 2016-11-01
    • 2017-10-25
    • 2016-03-21
    • 2020-03-07
    相关资源
    最近更新 更多