【问题标题】:one-to-many relation in KohanaKohana中的一对多关系
【发布时间】:2011-07-15 07:18:00
【问题描述】:

我有 3 张桌子 usersrolesroles_usersroles_users 表有 user_idrole_id

现在我的模型是Model_UserModel_RoleModel_User_Role

如何链接三个模型,让每个用户与一个角色相关联,一个角色有多个用户。

我正在使用 ORM,我想显示带有角色名称的用户列表。

注意:我取自 Kohana 的 Auth 模块。

【问题讨论】:

    标签: orm kohana kohana-3 kohana-orm kohana-auth


    【解决方案1】:

    您可以使用$_belongs_to$_has_one$_has_many 数组来设置模型之间的关系。 Kohana 3 :: ORM Relationships

    【讨论】:

    • 如果您想建立您所描述的关系,为什么不排除 Model_User_Role 表?您可以在用户数据库表中添加字段“role_id”,并在 Model_Users 中设置 protected $_belongs_to = arry( 'role' => array('model' => 'role', 'foreign_key' => 'role_id'), );,在 Model_Role 中设置 protected $_has_many = arry( 'user' => array('model' => 'user', 'foreign_key' => 'role_id'), );
    • 但我正在关注 Kohana 的 auth 模块,它有那个表
    • 您可以根据 /modules/auth/classes/model/auth/user.php 和 /modules/auth/classes/model/auth/role.php 制作自己的身份验证模型,并设置所需关系
    【解决方案2】:

    我与角色和用户建立了多对多关系。并且会编写一个用户不会拥有多个角色的业务逻辑。

    【讨论】:

      猜你喜欢
      • 2014-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多