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)
字段invites和sentinvites都是整数,但在运行函数后设置为0.这让我认为CodeIgniter正在传递invites-1和sentinvites+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)