Вот мой запрос в 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');