如何在CakePHP中更新数据库表
我正在尝试用CakePHP更新数据库中的表数据 查询:如何在CakePHP中更新数据库表,php,sql,cakephp,Php,Sql,Cakephp,我正在尝试用CakePHP更新数据库中的表数据 查询: UPDATE status SET amount=5000 WHERE id=3 如何用CakePHP编写此查询?查看文档并查看(和数据库表) 在这种情况下,我认为您可以使用set()和save(): 或使用saveField()的较短版本: 它们之间的区别在于saveField()是一种原子更新,而多个set()调用在执行save()调用之前不会修改数据。$this->Status->id=3;也应该是启动更新的适当方式。@Anthon
UPDATE status SET amount=5000 WHERE id=3
如何用CakePHP编写此查询?查看文档并查看(和数据库表) 在这种情况下,我认为您可以使用
set()
和save()
:
或使用saveField()
的较短版本:
它们之间的区别在于
saveField()
是一种原子更新,而多个set()
调用在执行save()
调用之前不会修改数据。$this->Status->id=3;也应该是启动更新的适当方式。@Anthony你说得对。事实上,我倾向于使用它而不是read()
。我已经更新了答案,以反映这两种选择
$this->Status->read(null, 3);
$this->Status->set('amount', 5000);
$this->Status->save();
$this->Status->id = 3; // This avoids the query performed by read()
$this->Status->saveField('amount', 5000);