我试图通过 Cake 的 save() 函数简单地执行以下操作。
UPDATE user SET value = value-1
不过,好像只能设定。它不会理解我传递给它来增加或减少的任何内容,并且互联网上似乎没有人遇到这个问题。 :P 即使在浏览某人在 CakePHP 2.0 上构建的完整软件时,我发现 $this->query() 用于增量更新!如果我还没有要设置的值,这真的是我更新的方式吗?
(出现代码如下)
$data = array('id' => uid, 'value' => "Users.value = Users.value - 1");
$this->User->save($data);
在 CakePHP 数据库中产生增量或减量的代码如下:
$this->User->updateAll(array('value' => 'value - 1'), array('id' => uid));
阿伦的回答不正确;您必须将 - 1 放在引号内,以使 Cake 识别它是查询的一部分。否则它会尝试将所有 User.value 设置为 -1。Note您必须将要更新的列的信息(标识符)放在第二个条件中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)