CodeIgniter / PHP Active Record не будет увеличивать целое число - PullRequest
8 голосов
/ 05 сентября 2010

Вот мой запрос в активной записи 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 в конец остановило его?

Спасибо!

Jack

1 Ответ

18 голосов
/ 05 сентября 2010

Это не работает с 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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...