使用Yii Rights Module创建新角色时保存其他数据

时间:2014-12-06 11:44:09

标签: php yii

我有Yii权利模块http://www.yiiframework.com/extension/rights/

我想要的是保存其他数据,即在创建角色时在authItem表中创建角色的用户的ID。通过代码我发现AuthItemController.php中的以下行可以帮助我

// Create the item
$item = $this->_authorizer->createAuthItem($formModel->name, $type, $formModel->description, $formModel->bizRule, $formModel->data);

我不知道如何使用此代码存储其他数据。请帮帮我。

1 个答案:

答案 0 :(得分:0)

好的,通过一些更多的解决方法,我找到了解决方案。

我在 authitem 表格中创建了新字段created_by。

RAuthItemBehavior.php

中添加了此功能
/**
     * add the id of user - who created the role - in db
     * @return doesn't return anything
     */
    public function addItemCreator()
    {
        Yii::app()->db->createCommand()
        ->update('authitem', array(
            'created_by'=>Yii::app()->user->id,
        ), 'name=:name', array(':name'=>$this->owner->name));
    }

并在创建操作中通过添加此行在 AuthItemController.php 上调用该函数

$item->addItemCreator();

之后

$item = $this->_authorizer->attachAuthItemBehavior($item);

欢迎任何改进建议。