@Gregpopov
Full stack web developer

Почему TimestampBehavior в Yii2 выбрасывает ошибку?

// behavior:
'timestamp' => [
                'class' => TimestampBehavior::className(),
                'createdAtAttribute' => 'created_at',
                'updatedAtAttribute' => 'updated_at',
                'value' => new Expression('NOW()'),
            ],

Ошибка:
SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'created_at' at row 1
The SQL being executed was: INSERT INTO `category` (`parent_id`, `title`, `mk`, `md`, `visibility`, `created_at`, `updated_at`, `created_id`, `updated_id`, `slug`) VALUES (NULL, 'Контроллеры шаговых двигателей', '', '', 1, NOW(), NOW(), 1, 1, 'kontrollery_sagovyh_dvigatelej')


Поля для даты
int(11)
,
все сделал по мануалу, рассинхрон в один день, плюс не добавляет дату обновления если просто пишу
return [

            TimestampBehavior::className(),
            // ...
  • Вопрос задан
  • 876 просмотров
Решения вопроса 2
artem90
@artem90
TeamLead, Developer
Попробуйте добавить в поведение

'value' => new Expression('UNIX_TIMESTAMP(NOW())'),
Ответ написан
@AlexKuznec
Я по мануалу добавил в класс модели:

public function behaviors()
{
return [
TimestampBehavior::className(),
];
}

всё работает, 'created_at' и 'updated_at' являются полями по умолчанию, их можно не указывать. заполняются текущим временем по UTC также по умолчанию
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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