为10月CMS中的模型创建默认属性

时间:2016-12-16 16:06:48

标签: php forms models backend octobercms

我在Controller中制作后端Ajax表单操作。

$this->asExtension('FormController')->create_onSave();

field.yaml 文件中有4个字段,所有值都完美无缺,验证工作正常。
在数据库中,我需要传递第五个值: theme ,这只是当前活动的主题,所以我不想在页面上显示它。
当我尝试在模型中添加它时,问题就出现了:

public function beforeSave()
{
    $this->attributes['theme'] = Theme::getActiveThemeCode();
}

在Model中添加此方法后,所有5个值都将转到数据库,但它们会跳过验证,因此在数据库中我可以添加空值。是什么导致这出错?

1 个答案:

答案 0 :(得分:1)

我认为您必须将值分配给当前实例中的属性,而不是尝试覆盖原始值。

public function beforeSave()
{
  $this->theme = Theme::getActiveThemeCode();
}