Yii 如何在表Authi框架中使用用户id更新itemname列
我在Yii框架中使用了auth管理器(RBAC),我遇到了一个问题。 我想使用表AuthAssignment中的用户id更新列itemname。 我可以使用以下代码插入数据库:Yii 如何在表Authi框架中使用用户id更新itemname列,yii,rbac,Yii,Rbac,我在Yii框架中使用了auth管理器(RBAC),我遇到了一个问题。 我想使用表AuthAssignment中的用户id更新列itemname。 我可以使用以下代码插入数据库:Yii::app()->authManager->assign($model->role,$model->id) 但ı不知道如何更新表AuthAssignment中的数据。没有为AuthAssignment提供更新操作。为了更新列itemname,您应该首先从给定的RBAC GUI“撤销”您的项,然后“分配”您更新的项 如
Yii::app()->authManager->assign($model->role,$model->id)代码>
但ı不知道如何更新表AuthAssignment中的数据。没有为AuthAssignment提供更新操作。为了更新列itemname,您应该首先从给定的RBAC GUI“撤销”您的项,然后“分配”您更新的项
如果您需要进一步查询,请告诉我。我认为,身份验证管理器(RBAC)中没有更新方法。因此,我们必须使用revoke方法进行删除,使用assign方法进行插入。我在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);
只需生成AuthAssignment
和模型与控制器的CRUD。而不是使用更新
操作更新数据。您的评论不清楚。如果您想显示代码,请更新答案。并正确格式化代码。