Вот мой запрос в Active Record CodeIgniter:
function calculate_invites($userid) { $this->db->where('id', $userid) ->update('users', array('invites' => 'invites-1', 'sentinvites' => 'sentinvites+1'), FALSE); }
Поля invites
и sentinvites
являются целыми числами, но после выполнения функции они устанавливаются в 0. Это заставляет меня предположить, что CodeIgniter пропускает invites-1
и sentinvites+1
как строки, но я думал, что добавление FALSE
до конца прекратило это делать?
Благодаря!
разъем
Это не работает с update
, только с set
.
Это должно работать:
$this->db->where('id', $userid); $this->db->set('invites', 'invites-1', FALSE); $this->db->set('sentinvites', 'sentinvites+1', FALSE); $this->db->update('users');
Это может сработать (руководство пользователя немного нечеткое):
$this->db->where('id', $userid); $this->db->set(array('invites' => 'invites-1', 'sentinvites' => 'sentinvites+1'), FALSE); $this->db->update('users');