我正在开发简单的cms应用程序。
我希望为某些记录整合“点击次数”,因此当在浏览器中显示记录的视图时,表中的点击字段应该更新为1.
在控制器中,我尝试了:
$ data = array('Publication'=> array('hits'=>'hits + 1'));
$ this-> Publication-> save($ data);
...但没有运气,因为蛋糕会尝试更新字段hits
,其值为+1。
你能告诉我我哪里错了,以及如何逐步更新字段hits
。
提前谢谢你!
答案 0 :(得分:5)
使用updateAll
:
$this->Publication->updateAll(
'`Publication`.`hits` = `Publication`.`hits` + 1',
array('Publication.id' => $id)
);
答案 1 :(得分:4)
$this->Publication->updateAll(array('Publication.hits'=>'Publication.hits+1'), array('Publication.id'=>$id));
答案 2 :(得分:0)
以上回答不适用于cakephp 2.6.0,这样可以正常使用
$this->Product->updateAll(
array('Product.hits' => 'Product.hits' + 1),
array('Product.id' => $id)
);