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