Задать вопрос
@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(),
            // ...
  • Вопрос задан
  • 877 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
artem90
@artem90
TeamLead, Developer
Попробуйте добавить в поведение

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

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

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

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

Похожие вопросы
23 дек. 2024, в 08:09
10000 руб./за проект
23 дек. 2024, в 04:30
10000 руб./за проект