我必須做一個博客作業。在其中,我必須在有人添加帖子時更新字段。該字段位於用戶表中,名稱爲no_of_posts。當某人發佈某些內容時,應該檢索與登錄用戶相關的no_of_posts的值,然後將其加1並更新回數據庫。如何從數據庫獲取值並將修改後的值更新到cakephp中的數據庫?
我想下面的代碼,但它沒有解決問題。 $ userid保存當前用戶標識。
$userid = $this->Auth->user('id');
$userpost = $this->User->query("SELECT no_of_posts FROM users WHERE id = '$userid'");
$userpost++;
$this->User->query("UPDATE users SET no_of_posts = '$userpost' WHERE id = '$userid'");
我也使用find試過沒有用它,但。
$userpost = $this->User->find('count', array('conditions'=>array('User.id'=>$userid)));
感謝您的任何幫助。
非常感謝你的工作..查詢部分是我最後的努力,直到我嘗試了很多其他的東西。 – 2012-04-11 07:27:12
哪部分工作?修復查詢或使用counterCache? 出於'正確的方式'觀點,我希望你使用的是counterCache,這樣,如果你構建了其他創建/刪除的函數,你將永遠不必考慮自己更新計數器帖子。 另外,你會介意接受這個答案嗎?它會顯示問題在索引中回答,因此人們不會解決問題。 – Joep 2012-04-11 07:33:44
counterCache工作只需添加'counterCache'=> true屬於數組並重命名錶中的字段。 – 2012-04-11 08:29:47