Как изменить значение поля которое создает timestampbehavior
Как изменить значение поля которое создает timestampbehavior
Здравствуйте. Подскажите, пожалуйста, как изменить значение поля которое создает timestampbehavior. Иногда мне нужно при создании поста выставить вручную будущую дату, а timestampbehavior, естественно, меняет на текущую.
- vitalik1183
- Сообщения: 1675
- Зарегистрирован: 2014.07.01, 08:42
Re: Как изменить значение поля которое создает timestampbehavior
если дата заполнена пользователем - деактивируйте поведение через detachBehavior
Yii2!
Re: Как изменить значение поля которое создает timestampbehavior
Код: Выделить всё
[
'class' => TimestampBehavior::className(),
'value' => function (Event $event) {
return $event->sender->created_at ?: time();
},
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => 'created_at',
],
],
Re: Как изменить значение поля которое создает timestampbehavior
Все равно ставит текущую датуElisDN писал(а):Код: Выделить всё
[ 'class' => TimestampBehavior::className(), 'value' => function (Event $event) { return $event->sender->created_at ?: time(); }, 'attributes' => [ ActiveRecord::EVENT_BEFORE_INSERT => 'created_at', ], ],
Re: Как изменить значение поля которое создает timestampbehavior
хотя этот вариант тоже не помог. Видимо я чтото не правильно делаю
Re: Как изменить значение поля которое создает timestampbehavior
А 'created_at' у Вас в rules() есть?
Re: Как изменить значение поля которое создает timestampbehavior
В rules нет. изменил строку для проверки так теперь в базу в любом случае записывается null (с заполненым полем и без) т.е. в $event->sender->created_at всегда NULL
Код: Выделить всё
return $event->sender->created_at ?:$event->sender->created_at;
Re: Как изменить значение поля которое создает timestampbehavior
в rules должны быть атрибуты массово присваиваемые через load. Вы же так дату проставляете из формы редактирования? иначе всегда null или устанавливаемое напрямую значение.
Re: Как изменить значение поля которое создает timestampbehavior
Заработало. Всем спасибо огромное. Про rules теперь буду знать.