У меня есть модуль прав Yii http://www.yiiframework.com/extension/rights/
Я хочу сохранить дополнительные данные, т.е. идентификатор пользователя, создавшего роль в таблице authItem, при создании роли. Пройдя код, я обнаружил, что следующая строка в AuthItemController.php может помочь мне
// Create the item
$item = $this->_authorizer->createAuthItem($formModel->name, $type, $formModel->description, $formModel->bizRule, $formModel->data);
Я не понимаю, как хранить дополнительные данные с помощью этого кода. Пожалуйста, помогите мне.
Хорошо, с некоторым обходным решением я нашел решение.
Я создал новое поле created_by в таблице authitem.
добавлена эта функция в 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);
приветствуются любые предложения по улучшению.