Kohana ORM - 用户权利空洞结果

时间:2017-08-07 08:28:14

标签: php orm kohana

我正在建立一个基于2个支柱的用户管理系统。

1。角色

每个用户都有多个角色。

2。版权

每个角色都包含一项或多项权利。

用户和角色在我的尝试中运作良好:

class Model_Auth_User extends ORM {

protected $_has_many = array(
    'roles'       => array('model' => 'Role', 'through' => 'roles_users'),
);...}


class Model_Auth_Role extends ORM {

protected $_has_many = array(
    'users' => array('model' => 'User','through' => 'roles_users'),
);...}

我试图以同样的方式添加一些角色和权利:

class Model_Auth_Role extends ORM {

protected $_has_many = array(
    'users' => array('model' => 'User','through' => 'roles_users'),
    'rights' => array('model' => 'Right','through' => 'role_rights'),
);



class Model_Auth_Right extends ORM {

protected $_has_many = array(
    'roles' => array('model' => 'Role','through' => 'role_rights'),
);

对角色的访问可以正常工作:

$roles = $user->roles->find_all(); //works fine

但是,对角色权限的访问总是会产生空结果:

$rights = $user->roles->rights->find_all();

1 个答案:

答案 0 :(得分:1)

因为我收集了$ user->角色

<?php
$rights = [];
foreach($user->roles->find_all() as $role){
 $rights[] = $role->rights->find_all();
}