Восстание машин ! Не работет TimestampBehavior

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
zxczxc12
Сообщения: 161
Зарегистрирован: 2013.01.24, 21:16

Восстание машин ! Не работет TimestampBehavior

Сообщение zxczxc12 »

Доработался до того, что перестало работать элементарное :-(((


Есть модельUser
есть created_at и updated_at в формате timestamp:

User table migration:

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

.....
'created_at' => $this->timestamp()->null(),
'updated_at' => $this->timestamp()->null(),
 ....
 
User model:

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

/**
     * @inheritdoc
     */
    public function behaviors()
    {
        return [
            'class' => TimestampBehavior::className(),
            'value' => new Expression('NOW()')
        ];
    }
Результат:
Invalid Configuration – yii\base\InvalidConfigException

Unsupported configuration type: object


Думаю, ладно , укажу конкретно:

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

/**
     * @inheritdoc
     */
    public function behaviors()
    {
        return [
            'class' => TimestampBehavior::className(),
            'value' => date('Y-m-d H:i:s')
        ];
    }

Появляются вообще чудеса:

ReflectionException

Class 2017-02-19 17:25:01 does not exist



Чертовщина :-((((
zxczxc12
Сообщения: 161
Зарегистрирован: 2013.01.24, 21:16

Re: Восстание машин ! Не работет TimestampBehavior

Сообщение zxczxc12 »

Снасильничал :

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

$this->setAttribute('created_at', date('Y-m-d H:i:s'));
так работает без проблем

беда
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Восстание машин ! Не работет TimestampBehavior

Сообщение zelenin »

behaviors должен возвращать МАССИВ ПОВЕДЕНИЙ
caHek2x
Сообщения: 1242
Зарегистрирован: 2016.04.12, 20:41

Re: Восстание машин ! Не работет TimestampBehavior

Сообщение caHek2x »

есть же примеры из доков
http://www.yiiframework.com/doc-2.0/yii ... avior.html

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

public function behaviors()
{
    return [
        [
            'class' => TimestampBehavior::className(),
            'createdAtAttribute' => 'create_time',
            'updatedAtAttribute' => 'update_time',
            'value' => new Expression('NOW()'),
        ],
    ];
}
Nerf
Сообщения: 780
Зарегистрирован: 2015.01.29, 00:37

Re: Восстание машин ! Не работет TimestampBehavior

Сообщение Nerf »

caHek2x писал(а): 2017.02.19, 18:59 есть же примеры из доков
createdAtAttribute, updatedAtAttribute не обязательны, если вы об этом.
Проблема в том, что у вас должен возвращаться массив "поведений" (объектов или их конфигов). Короче, оберените еще в массив...
caHek2x
Сообщения: 1242
Зарегистрирован: 2016.04.12, 20:41

Re: Восстание машин ! Не работет TimestampBehavior

Сообщение caHek2x »

Nerf писал(а): 2017.02.19, 19:41
caHek2x писал(а): 2017.02.19, 18:59 есть же примеры из доков
createdAtAttribute, updatedAtAttribute не обязательны, если вы об этом.
Проблема в том, что у вас должен возвращаться массив "поведений" (объектов или их конфигов). Короче, оберените еще в массив...
это я сразу кусок из документации выбрал ... на котором и видно массив в массиве
zxczxc12
Сообщения: 161
Зарегистрирован: 2013.01.24, 21:16

Re: Восстание машин ! Не работет TimestampBehavior

Сообщение zxczxc12 »

Спасибо внеземное !
Мне явно повылазило :-(
Ответить