2017-08-07 10 views
0

KohanaのORMモデルに関する質問があります。 2つの柱に基づいてユーザー管理システムを構築しています。Kohana ORMユーザーと権利モデル

まず、役割...各ユーザーの役割は異なります。 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'), 
);...} 

は今、私はこのような役割にいくつかのrigthsを追加したい:

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

する$ user->役割私のコレクション

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

ので、ああ...おかげでたくさん! – toffler

関連する問題