保存Yii2中的默认值不起作用

时间:2016-06-03 07:00:30

标签: yii2 yii2-basic-app scenarios yii2-model

我想在更新或创建时保存以下日期时间,所以我在rules()

中写了这个
['createdon','default','value'=>date('Y-m-d H:i:s'),'on'=>'insert' ],
['updatedon','default','value'=>date('Y-m-d H:i:s'),'on'=>'update' ],

我将创建和更新函数中的场景声明为

public function actionCreate()
{
    $model = new JobFunctionRole();
    $model->scenario = 'insert';
....
....
}
public function actionUpdate($id)
{
    $model = $this->findModel($id);
    $model->scenario = 'update';
    ...
    ...
}   

虽然创建日期时间存储完美。但在更新它不存储。问题是什么?任何人?

2 个答案:

答案 0 :(得分:1)

这些是用户输入的验证器。您可能正在寻找TimestampBehaviorhttp://www.yiiframework.com/doc-2.0/yii-behaviors-timestampbehavior.html

TimestampBehavior配置应添加到ActiveRecord模型中。不是控制器。

答案 1 :(得分:1)

您直接使用_form

 <?= $form->field($model, 'createdon')->hiddenInput('value'=>date("Y-m-d")])->label(false) ?>