У меня проблема с одним из моих проектов, и как только я пытаюсь обновить роль, я получаю следующую ошибку.
Значение в «Имя роли» уже используется.
Когда я редактирую / обновляю роль, имя роли не должно проверяться. Почему это происходит?
Я посмотрел на контроллер и код модели, и он просто использует обычный код.
контроллер:
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);
}
Изменены правила валидации в соответствии с предложением Кисараги
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]|',
),
);
Большое спасибо.
Других решений пока нет …