невозможно отобразить собственное сообщение об ошибке в codeigniter - PullRequest
0 голосов
/ 20 мая 2018

Я использую codeigniter3.теперь я хочу удалить запись, затем она отображает базу данных после ошибки

Невозможно удалить или обновить родительскую строку: ограничение внешнего ключа не выполняется (soft.tbl_item_sub_category, CONSTRAINT `tbl_item_sub_category_ibfk_1 FOREIGN KEY (category_id_base_category_c_t_base)(id) ON UPDATE CASCADE)

Основная проблема заключается в том, что выглядит некорректно для отображения ошибки базы данных.Я хочу показать свое собственное сообщение об ошибке.поэтому я использую $this->db->error(), но это не работает.вот моя функция удаления.обработать это сообщение об ошибке, но оно не работает.

delete function ()

public function delete($table,$id){
    $this->db->where('id', $id);
    $this->db->delete($table);
    if ($this->db->affected_rows() > 0) {
        return true; // to the controller
    }
    else {
         $error = $this->db->error(); // to the controller
    }
}

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Используйте этот код для удаления записей

Controllere

 public function($id)
 {
    $t = $this->db->query("DELETE FROM table_name WHERE id='$id'");
    $tt = $t->row_array();
    if($tt>0)
    {
        return true;
    }
    else
    {
         $false= $this->db->error();
         return $false;
    }
 }
0 голосов
/ 20 мая 2018

Опция 1

Возврат false вместо $error = $this->db->error(); и доступ к $this->db->error(); в контроллере.

Опция 2

Ваш метод изменен ...

public function delete($table,$id){
    $this->db->where('id', $id);
    $this->db->delete($table);
    if ($this->db->affected_rows() > 0) {
        return true; // to the controller
    }
    else {
        $error = $this->db->error(); // to the controller
        return $error;
    }
}

Контроллер:

if (($err = $this->some_model->delete($table,$id)) !== true) {
    print_r($err);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...