CodeIgniter/PHP Active Record不会增加整数

Jac*_*ack 8 php mysql activerecord codeigniter

这是我在CodeIgniter的Active Record中的查询:

function calculate_invites($userid)
{
    $this->db->where('id', $userid)
               ->update('users', array('invites' => 'invites-1', 'sentinvites' => 'sentinvites+1'), FALSE);
}
Run Code Online (Sandbox Code Playgroud)

字段invitessentinvites都是整数,但在运行函数后设置为0.这让我认为CodeIgniter正在传递invites-1sentinvites+1 作为字符串,但我认为追加FALSE到最后阻止它这样做?

谢谢!

插口

Mis*_*cha 18

这不起作用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');
Run Code Online (Sandbox Code Playgroud)

这也可能有用(用户指南有点不清楚):

$this->db->where('id', $userid);
$this->db->set(array('invites' => 'invites-1', 'sentinvites' => 'sentinvites+1'), FALSE);
$this->db->update('users');
Run Code Online (Sandbox Code Playgroud)