CakePHP updateAll()问题

pll*_*pll 10 cakephp

我有一个带有一个名为的列的图像表type.我只想更新所有行以将类型更改galleryuser_id匹配特定用户的位置.

我正在使用此代码

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

但我得到这个错误: SQL Error: 1054: Unknown column 'gallery' in 'field list'

为什么将画廊添加到字段列表中?
是不是应该将类型设置为库的语法?

谢谢!

bfa*_*tto 24

在手册上找到了这个:

$ fields数组接受SQL表达式.应手动引用文字值.

因此,以下应该工作:

$this->Image->updateAll(
    array('Image.type' => "'gallery'"), 
    array('Image.user_id' => $this->Auth->user('id'))
);
Run Code Online (Sandbox Code Playgroud)