2016-12-16 16 views
1

私はコントローラでバックエンドのAjaxフォームアクションを作成しています。 field.yamlファイルで10月のModelのデフォルト属性を設定する

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

は4つのフィールドがあり、そしてすべてのそれらの値は完全に行く、検証が動作します。
データベースでは、第5の値:のテーマを渡す必要があります。これは現在アクティブなテーマです。ページに表示したくありません。
私がモデルにそれを追加しようとしているときに問題が開始されます。

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

私ができるデータベース内ので、モデルでこのメソッドを追加した後、すべての5つの値がデータベースに行くが、彼らは検証をスキップ空の値を追加してください。何が原因でこれが間違っていますか?

答えて

1

生の値を上書きするのではなく、現在のインスタンスのプロパティに値を割り当てる必要があると思います。

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

正確には、それが唯一の解決策です –

関連する問題