Cakephp更新数据库表中的单个字段
使用CakePHP1.3,有没有一个简单的例子说明如何更新(而不是插入)数据库表中的一行Cakephp更新数据库表中的单个字段,cakephp,Cakephp,使用CakePHP1.3,有没有一个简单的例子说明如何更新(而不是插入)数据库表中的一行 $data = array('list_index' => $id, 'name' => $name); if ($this->save($data)) { return true; } else { return false; } 官方文档指出,这是应该采用的方法,但是,当它试图使用现有主键进行插入时,会抛出一个错误。有人能解释一下吗 您可以使用:
$data = array('list_index' => $id, 'name' => $name);
if ($this->save($data)) {
return true;
}
else {
return false;
}
官方文档指出,这是应该采用的方法,但是,当它试图使用现有主键进行插入时,会抛出一个错误。有人能解释一下吗 您可以使用:
$this->Post->read(null, 1);
$this->Post->set(array(
'title' => 'New title',
'published' => false
));
$this->Post->save();
或
从1.3手册:
确保您的模型正确设置了值 在这种情况下,它应该是
class MyModel extends AppModel {
public $primaryKey = 'list_index';
// ...
}
如果您不这样做,CakePHP将尝试插入而不是更新。或者您可以使用
Model::saveField
trusted saveField,但CakePHP说这是一个未定义的方法。一旦您正确设置了主键,请保存字段:$this->ModeName->saveField('name',$name);
class MyModel extends AppModel {
public $primaryKey = 'list_index';
// ...
}