Możesz zrobić, jak podano poniżej:
$this->db->where('id', $post['identifier']);
$this->db->set('votes', 'votes+1', FALSE);
$this->db->update('users');
Powodem, dla którego to działa, jest to, że trzeci (opcjonalny) parametr FALSE mówi CodeIgniterowi, aby nie chronił wygenerowanego zapytania za pomocą backticków ('
). Oznacza to, że wygenerowany SQL będzie:UPDATE users SET votes= votes + 1 WHERE id= '44'
Jeśli zauważysz, znaki wsteczne są usuwane z '(votes+1)'
, co daje pożądany efekt zwiększenia atrybutu głosów o 1.