php - CodeIgniter/PHP Active Record 不会递增整数

标签 php mysql activerecord codeigniter

这是我在 CodeIgniter 的事件记录中的查询:

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

字段invitessentinvites 都是整数,但在函数运行后设置为0。这让我假设 CodeIgniter 正在将 invites-1sentinvites+1 作为字符串传递,但我认为将 FALSE 附加到最后会停止它做那个?

谢谢!

jack

最佳答案

这不适用于 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');

这也可能有效(user guide 有点不清楚):

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

关于php - CodeIgniter/PHP Active Record 不会递增整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18703967/

相关文章:

mysql - 试图弄清楚如何创建这个过程

mysql - 如何让所有艺术家都没有视频和照片?

Javascript 从 PHP 获取内容

php - 如何跟踪运行给定进程的 PHP 脚本?

php - MySQL 子字符串和中间解析错误

php - 无法使用 PHPMailer 远程连接到我的电子邮件服务器

php - 提高 SELECT 查询速度?

mysql - 在数据库中拥有自己的表或将字段留空?

ruby-on-rails - 如果不在 session 中,如何/在哪里临时存储 ActiveRecord 对象?

ruby - 使用 'first_or_create' 时应该如何合并哈希