更新角色时出错

时间:2015-12-14 15:11:08

标签: php codeigniter bonfire

我的某个项目存在问题,只要我尝试更新角色,就会出现以下错误。

  

"角色名称"中的值已被使用。

在编辑/更新角色时,不应验证角色名称。为什么会这样?

我查看了控制器和模型代码,它只使用常规代码。

控制器:

if ($type == 'insert') {
    $id = $this->role_model->insert($data);
    $return = is_numeric($id);
} elseif ($type == 'update') {
    $return = $this->role_model->update($id, $data);
}

型号:

public function update($id = null, $data = null)
{
    // If this role is set to default, then set all others to NOT be default.
    if (isset($data['default']) && $data['default'] == 1) {
        $this->db->set('default', 0)
                 ->update($this->table_name);
    }

    return parent::update($id, $data);
}

1 个答案:

答案 0 :(得分:0)

按照Kisaragi的建议更改了验证规则

protected $updateValidationRules = array(
    array(
        'field' => 'role_name',
        'label' => 'lang:role_name',
        'rules' => 'required|trim|max_length[60]|unique[roles.role_name,roles.role_id]',
    ),
);

protected $updateValidationRules = array(
    array(
        'field' => 'role_name',
        'label' => 'lang:role_name',
        'rules' => 'required|trim|max_length[60]|',
    ),
);

非常感谢。