我正在建立一个基于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();
答案 0 :(得分:1)
因为我收集了$ user->角色
<?php
$rights = [];
foreach($user->roles->find_all() as $role){
$rights[] = $role->rights->find_all();
}