我在Controller中制作后端Ajax表单操作。
$this->asExtension('FormController')->create_onSave();
在 field.yaml 文件中有4个字段,所有值都完美无缺,验证工作正常。
在数据库中,我需要传递第五个值: theme ,这只是当前活动的主题,所以我不想在页面上显示它。
当我尝试在模型中添加它时,问题就出现了:
public function beforeSave()
{
$this->attributes['theme'] = Theme::getActiveThemeCode();
}
在Model中添加此方法后,所有5个值都将转到数据库,但它们会跳过验证,因此在数据库中我可以添加空值。是什么导致这出错?
答案 0 :(得分:1)
我认为您必须将值分配给当前实例中的属性,而不是尝试覆盖原始值。
public function beforeSave()
{
$this->theme = Theme::getActiveThemeCode();
}