za4me
@za4me
Человек

Добавление своей даты в timestamp yii2?

Добрый день.

В данный момент в buy_at, stop_at пишется текущая дата:

return [
    'timestamp' => [
        'class' => TimestampBehavior::class,
        'attributes' => [
            ActiveRecord::EVENT_BEFORE_INSERT => [
                'buy_at', 'stop_at',
            ],
        ],
        'value' => new Expression('NOW()'),
    ],
];


Но, как сделать что-бы в buy_at писалась текущая дата, а в stop_at текущая дата + 30 дней?

Всем спасибо за советы.
  • Вопрос задан
  • 292 просмотра
Решения вопроса 1
qonand
@qonand
Software Engineer
если необходимо для каждого поля генерировать свою дату необходимо подключать поведение дважды, например:
return [
    'timestamp_buy_at' => [
        'class' => TimestampBehavior::class,
        'attributes' => [
            ActiveRecord::EVENT_BEFORE_INSERT => [
                'buy_at',
            ],
        ],
        'value' => new Expression('NOW()'),
    ],
    'timestamp_stop_at' => [
        'class' => TimestampBehavior::class,
        'attributes' => [
            ActiveRecord::EVENT_BEFORE_INSERT => [
                'stop_at',
            ],
        ],
        'value' => new Expression('NOW() + INTERVAL 30 DAY'),
    ],
];
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы