我在cakephp中使用saveField
方法更新字段。
示例:
$this->Attachment->id = $id;
$updateResult = $this->Attachment->saveField('dispatched', '1');
现在,如果db中不存在$id
的值,则saveField
在数据库中插入新记录。但我想更新记录而不是新插入。如果db中不存在$id
的值,那么我希望从saveField
我是怎么做到的?
答案 0 :(得分:1)
只需将保存包装在条件中:
$this->Attachment->id = $id;
if(isset($id) {
//your save here
$updateResult = $this->Attachment->saveField('dispatched', '1');
}else{
return false;
}
评论后更新:
所以做一个计数并将其用作测试:
$settings = array(
'conditions'=>array(
'Atachment.id'=>$id;
)
);
$test = 0;
$test = $this->Attachment->find('count', $settings);
if($test >0 {
//your save here
} else {
//return false here
}
应该这样做。
答案 1 :(得分:1)
你必须检查记录是否存在
if ($this->Attachment->findById($id)) {
$this->Attachment->id = $id;
return $this->Attachment->saveField('dispatched', '1');
} else {
return false;
}