У меня есть функция удаления в моей модели. Когда вы нажмете кнопку «Удалить», она вычитает общее количество заметок из общего столбца примечаний в моей базе данных. Напр. если у вас было 200 заметок, и вы удалили один из них, это будет 199 заметок, и заметка будет удалена из базы данных.Затронутые строки не работают - Codeigniter
Мой код:
public function entry_delete($pid) {
$uid=$this->session->userdata('uid');
$whereConditions = array('pid' => $pid, 'uid' => $uid);
$this->db->where($whereConditions);
$this->db->delete('dayone_entries');
if ($this->db->affected_rows() == 0) {
$sql_entry = "UPDATE users set total_entry = total_entry - 1 WHERE uid = $uid";
$this->db->query($sql_entry);
return true;
} else {
return false;
}
}
Но это не работает. Я не знаю, почему, но когда я нажимаю кнопку удаления из своего представления, он удаляет его из базы данных и вычитает -1 из моей таблицы total_entry. Однако, если я прокомментирую
$this->db->delete('dayone_entries');
Он все равно вычитает 1 из total_entry.
Как исправить это? Благодарю.
не должен быть «затронутыми строками> 0» после того, как было выполнено удаление, а затем вычесть из другой таблицы. ваше if условие инвертировано, если 'затронутые строки == 0' (без затронутых строк), то сделать вычитание, что не имеет смысла – Ghost
@Ghost, так как я могу это исправить? –
ответ уже выше, измените условие if – Ghost