Yii:如何从另一个控制器调用权限模型

时间:2012-09-08 07:31:34

标签: php yii yii-extensions

问:如何从权限扩展的表(authitem)中检索用户扩展的user / admincontroller上的数据。

状态:我正在使用权限和用户扩展名。两个扩展程序都可以单独运行。

这是我的代码

$roles = AuthItem::model()->findAll('type=2');

这是我的main.php

'import'=>array(

        'application.models.*',
        'application.components.*',

        // user extenstion

        'application.modules.user.models.*',
        'application.modules.user.components.*',


        // rights extensions
        'application.modules.rights.*', 
        'application.modules.rights.components.*', // Correct paths if necessary.
    ),

这是错误消息

include(AuthItem.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory

1 个答案:

答案 0 :(得分:1)

事实证明,你不能这样做,你可以;访问使用AuthItem作为模型并从中检索信息..

我在上一个使用版权的项目中遇到了这个问题,需要all users of a particular roleneeded a dropdown of all roles, from which admin can chooseall roles assigned to a user等要求..

我写了一篇很好的博客文章,解决了这样的问题..

其中一个,似乎是你的情况:

生成应用程序中所有可用角色的复选框..

<?php
   $all_roles=new RAuthItemDataProvider('roles', array('type'=>2));
   $data=$all_roles->fetchData();
?>
<div>
    <label for="type_id">Type</label>
    <?php echo CHtml::checkBoxList("Type",'',CHtml::listData($data,'name','name'));?> 
</div>

您可以找到完整的blog post here