2010-07-06 84 views
0

我正在开发简单的cms应用程序。计数点击次数

我要整合的点击次数“”对于一些记录,所以当查看记录在浏览器中显示,在打表字段应当由控制器1

更新,我tryed与:

$ data = array('Publication'=> array('hits'=>'hits + 1'));
$ this->发布 - >保存($ data);

...但没有运气,因为蛋糕tryes与价值命中更新场hits + 1

你能告诉我在哪里,我错了,以及如何incrementaly更新域hits

谢谢你提前!

回答

4

好吧,我解决了这个问题

$this->Publication->updateAll(array('Publication.hits'=>'Publication.hits+1'), array('Publication.id'=>$id)); 
5

使用updateAll

$this->Publication->updateAll(
    '`Publication`.`hits` = `Publication`.`hits` + 1', 
    array('Publication.id' => $id) 
); 
0

上面的回答不适合的CakePHP 2.6.0工作,这工作正常

$this->Product->updateAll(
    array('Product.hits' => 'Product.hits' + 1), 
    array('Product.id' => $id) 
); 
+0

这是无效的(Cake)PHP语法。这不可行! 您正在给字符串添加1。使整个字符串“1”。上面的例子应该都可以正常工作。 – mark 2014-12-26 22:32:46