2011-08-08 76 views
10

我有一個名爲type的列的圖像表。我只是想更新所有行,將其類型更改爲gallery,其中user_id與特定用戶匹配。CakePHP updateAll()問題

我使用此代碼

$this->Image->updateAll(array('Image.type' => 'gallery'), 
    array('Image.user_id' => $this->Auth->user('id'))); 

但我得到這個錯誤:SQL Error: 1054: Unknown column 'gallery' in 'field list'

爲什麼被添加到字段列表庫?
是不是語法應該設置類型的畫廊?

謝謝!

回答

22

發現這對the manual

The $fields array accepts SQL expressions. Literal values should be quoted manually.

因此,下面應該工作:

$this->Image->updateAll(
    array('Image.type' => "'gallery'"), 
    array('Image.user_id' => $this->Auth->user('id')) 
); 
+0

媽的,優秀的答案,我已經在類似的查詢都盯着上午。 – usumoio