Привет почеиу не работает \yii\db\Expression

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Привет почеиу не работает \yii\db\Expression

Сообщение alexa777 »

Привет пытаюсь сохранить дату используя TimestampBehavior::className()
в базе поля INT 'create_time','update_time',
Behaiors в модели

Код: Выделить всё

use yii\behaviors\TimestampBehavior;
use yii\db\Expression;

public function behaviors()
    {
         return [
        [
            'class' => TimestampBehavior::className(),
            'createdAtAttribute' => 'create_time',
            'updatedAtAttribute' => 'update_time',
            'value' => new Expression('NOW()'),
        ],
     ];
    }
При сохранении выдает ошибку
Error Info: Array
(
[0] => 22003
[1] => 1264
[2] => Out of range value for column 'create_time' at row 1
)
Если делаю так

Код: Выделить всё

public function behaviors()
    {
         return [
        [
            'class' => TimestampBehavior::className(),

        ],
     ];
    }
и поля в базе created_at, updated_at, то все работает отлично, можно было конечно и так использовать, но вот появился принцип выяснить почему не работает через \yii\db\Expression
Nex-Otaku
Сообщения: 831
Зарегистрирован: 2016.07.09, 21:07

Re: Привет почеиу не работает \yii\db\Expression

Сообщение Nex-Otaku »

То есть то, что текстовую строку вида "2018-02-17 19:57:20" вы записываете в поле типа INT вас не смутило?
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Re: Привет почеиу не работает \yii\db\Expression

Сообщение alexa777 »

Nex-Otaku писал(а): 2018.02.17, 23:00 То есть то, что текстовую строку вида "2018-02-17 19:57:20" вы записываете в поле типа INT вас не смутило?
Понял, надо было timestamp поставить. Спасибо
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Re: Привет почеиу не работает \yii\db\Expression

Сообщение alexa777 »

alexa777 писал(а): 2018.02.18, 08:29
Nex-Otaku писал(а): 2018.02.17, 23:00 То есть то, что текстовую строку вида "2018-02-17 19:57:20" вы записываете в поле типа INT вас не смутило?
Понял, надо было timestamp поставить.Спасибо
Ответить