我的某个项目存在问题,只要我尝试更新角色,就会出现以下错误。
"角色名称"中的值已被使用。
在编辑/更新角色时,不应验证角色名称。为什么会这样?
我查看了控制器和模型代码,它只使用常规代码。
控制器:
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);
}
答案 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]|',
),
);
非常感谢。