2012-11-01 97 views
0

是否存在以下语法不能执行的语法原因?Kohana 3.1 ORM save()

$final_scores = ORM::factory('fscores'); 
$final_scores->userid = $userid; 
$final_scores->es1 = $self_awr; 
$final_scores->es2 = $self_mgt; 
$final_scores->es3 = $social_awr; 
$final_scores->es4 = $rel_mgt; 
$final_scores->save(); 

有一个名为fscores的模型。所有的字段名称都是正确的。它根本不更新表格。

+0

要更新您首先需要选择型号。 – zerkms

+0

是的,模型必须在更新之前加载。 – biakaveron

回答

0

正如在评论中提到 - 如果要更新,加载记录第一:

$final_scores = ORM::factory('fscores', $your_id_for_update); 

如果不加载它,保存方法将尝试创建记录:

public function save(Validation $validation = NULL) 
{ 
    return $this->loaded() ? $this->update($validation) : $this->create($validation); 
} 

此外,如果你知道你要更新,使其expicit:

$final_scores->update();