Сохраните дополнительные данные при создании новой роли с Yii Rights Module

0

У меня есть модуль прав 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);

Я не понимаю, как хранить дополнительные данные с помощью этого кода. Пожалуйста, помогите мне.

Теги:
yii

1 ответ

0
Лучший ответ

Хорошо, с некоторым обходным решением я нашел решение.

Я создал новое поле 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);

приветствуются любые предложения по улучшению.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню