我有这个字段,其值必须将字段值增加一个特定值。 我正在使用这个
$data['quantity'] = 'Order.quantity+1';
这对我来说不起作用数量是一个整数coloumn。 当数据库中没有任何东西时它也会工作吗?
此致 Himanshu Sharma
答案 0 :(得分:16)
我在代码中使用了updateAll来增加文章中的视图。因此,每次访问文章时,我都会在文章控制器的视图操作中调用以下函数:
function incrementViewCount($id) {
$this->updateAll(
array('Article.viewed' => 'Article.viewed+1'),
array('Article.id' => $id)
);
}
然后在你的控制器......
$this->MyModel->incrementViewCount(123);
基本上类似于上一个答案中建议的教程。
答案 1 :(得分:14)
您可以将updateAll()用于此
有点谷歌搜索显示这很快: http://cakephp.1045679.n5.nabble.com/Auto-Increment-A-Field-td3491697.html答案 2 :(得分:2)
您也可以尝试使用此代码。适用于简单的++ / - 操作,无需额外的查询。
答案 3 :(得分:1)
使用saveField:
<?php
$this->Article->id = $id;
$this->Article->saveField('viewed', (int)$this->Article->field('viewed') + 1);
?>