我有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);
我不知道如何使用此代码存储其他数据。请帮帮我。
答案 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);
欢迎任何改进建议。