Сохранение значений по умолчанию в Yii2 не работает

Я хочу сохранить следующую дату и время при обновлении или создании, поэтому я написал это в 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';
    ...
    ...
}   

В то время как создание datetime магазинов отлично. Но в обновлении его не магазины. Что проблема?? Кто-нибудь?

2 ответа

Вы напрямую используете _form

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

Это валидаторы для пользовательского ввода. Вы, наверное, ищете TimestampBehavior: http://www.yiiframework.com/doc-2.0/yii-behaviors-timestampbehavior.html

TimestampBehavior Конфиг должен быть добавлен в ActiveRecord модель. Не контроллер.

Другие вопросы по тегам