Я использую диспетчер авторизации (RBAC) в Yii Framework, и у меня возникла проблема. Я хочу обновить имя элемента столбца, используя идентификатор пользователя в таблице AuthAssignment . Я могу вставить в базу данных этот код: Yii::app()->authManager->assign($model->role,$model->id);
, но я не знаю, как мне обновить эти данные в таблице AuthAssignment.
Как обновить столбец имени элемента, используя идентификатор пользователя в таблице AuthAssignment Yii Framework
Ответы (2)
Для AuthAssignment не предусмотрено действие обновления. Для обновления имени элемента столбца вы должны сначала «отозвать» свой элемент из данного графического интерфейса RBAC, а затем «назначить» обновленный элемент.
Дайте мне знать, если вы столкнетесь с дальнейшим запросом на то же самое.
person
AddWeb Solution Pvt Ltd
schedule
27.10.2015
Я думаю, что в диспетчере аутентификации (RBAC) нет метода обновления. Поэтому мы должны использовать метод отзыва для удаления и метод назначения для вставки. Я использую следующий код в Usercontroller
public function assignRole($role,$id) {
$auth = Yii::app()->authManager;
$items = $auth->getRoles($id);
foreach ($items as $item) {
$auth->revoke($item->name, $id);
}
// assign new role to the user
$auth->assign($role, $id);
$auth->save();
}
Затем я вызываю следующий код для вставки и обновления роли в таблицу
$this->assignRole($model->role,$model->id);
person
Mahmut Aydın
schedule
27.10.2015
AuthAssignment
и модели и контроллера. Чем использовать данные обновления действияupdate
. - person GAMITG   schedule 27.10.2015