如何在CakePHP中更新数据库表

Tha*_*twe 0 php sql cakephp

我正在尝试从CakePHP中的数据库更新表数据.

查询:

UPDATE status SET amount=5000 WHERE id=3
Run Code Online (Sandbox Code Playgroud)

如何在CakePHP中编写此查询?

eli*_*lon 7

查看文档并查看CakePHP处理模型(和数据库表)的方法.

在这种情况下,我认为你可以使用set()save():

$this->Status->read(null, 3);
$this->Status->set('amount', 5000);
$this->Status->save();
Run Code Online (Sandbox Code Playgroud)

或更短版本saveField():

$this->Status->id = 3; // This avoids the query performed by read()
$this->Status->saveField('amount', 5000);
Run Code Online (Sandbox Code Playgroud)

它们之间的区别在于它saveField()是一种原子更新,而多次set()调用在您进行save()调用之前不会修改数据.