2010-07-06 67 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