2011-07-15 36 views
3

我有3个表users,rolesroles_users。该roles_users表有user_idrole_idKohana中的一对多关系

现在我的模型Model_UserModel_RoleModel_User_Role

如何链接三个模型,以便每个用户都与一个角色关联,并且一个角色拥有多个用户。

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

注意:我已经从Auth Kohana模块中获取表格。

回答

2

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

+0

如果您想描述为什么您不排除Model_User_Role表的关系? 您可以在用户db表中添加字段“role_id”,并设置 'protected $ _belongs_to = arry( \t'role'\t => array('model'=>'role','foreign_key'=>'role_id') , );' 在Model_Users和 '保护$ _has_many = ARRY( \t '用户' \t =>阵列( '模型'=> '用户', 'foreign_key'=> 'ROLE_ID'), );' in Model_Role – Leonid

+0

但我正在关注Kohana的auth模块,它有这个表格 – jimy

+0

您可以根据/modules/auth/classes/model/auth/user.php和/ modules/auth/classes制作自己的auth模型/model/auth/role.php,并设置所需的关系 – Leonid

1

我与角色和用户做了多对多的关系。并且会写出用户不会有多个角色的业务逻辑。