Контроллер:
function edit($id)
{
$this->form_validation->set_rules('name', 'Name', 'required|xss_clean');
$this->load->model('manager_model');
$pageData['type'] = 'managers';
$pageData['title'] = "Edit Manager";
$data['records'] = $this->manager_model->getManager($id);
$this->load->view('header', $pageData);
$this->load->view('db_options_view', $pageData);
if ($this->form_validation->run() == FALSE)
{
$this->load->view('managers/editManagerForm_view', $data);
}
else
{
$name = $this->input->post('name');
$this->manager_model->updateRecord($id, $name);
$this->load->view('managers/editManagerSuccess_view');
}
$this->load->view('footer');
}
Модель:
function updateRecord($id, $name)
{
$data = array('name' => $name);
$this->db->where('id', $id);
$this->db->update('manager', $data);
}
Моя проблема заключается в следующем.Моя таблица базы данных не принимает повторяющиеся значения для поля имени.Поэтому, пока я тестировал его, я ввел повторяющееся имя, а codeigniter вернул следующее:
Произошла ошибка базы данных Номер ошибки: 1062 Повторяющаяся запись 'alan pardew' для ключа 2 UPDATE manager
SET name
= 'alan pardew 'WHERE id
=' 2 'Имя файла: /var/www/vhosts/mysite.com/httpdocs/personal/models/manager_model.php Номер строки: 74
Я хотел бы обработать эту ошибкуя в контроллере, и я немного прочитал и обнаружил, что должен установить $db['default']['db_debug'] = FALSE;
, чтобы кодовый кодировщик не отображал ошибки.
Есть ли способ просто отключить определенные ошибки, например, для дублированных записей?
Или вы бы порекомендовали отключить их полностью?
Кроме того ... я довольно новна codeigniter, так что если вы можете заметить какую-либо плохую практику в моем коде, не стесняйтесь указывать на это!