базу формате DateTime переопределил класс TimestampBehavior
class CustomTimestampBehavior extends TimestampBehavior
{
protected function getValue($event)
{
if ($this->value === null) {
return (new DateTime('now'))->format("Y-m-d H:i:s");
}
return parent::getValue($event);
}
}
В модели вот такой код
public function behaviors()
{
return [
CustomTimestampBehavior::class,
];
}
public function activeAttributes()
{
return [
self::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
self::EVENT_BEFORE_UPDATE => ['updated_at'],
];
}
______
Когда в модели есть метод activeAttributes() не выводятся фильтры в GridView в представлении.
Если удаляю метод activeAttributes(), то фильтры выводятся, но тогда при сохранении в таблицу не записываются автоматически значения в поля 'created_at', 'updated_at'.
Можете подсказать как можно решить проблему вывода фильтров и чтоб дата создания/обновления записывались?
Потому что не понял как сделать фильтр для Unixtimestamp?
Т.е. мне не нужен класс CustomTimestampBehavior и можно как-то timestamp конвертировать на лету в DateTime?
Мне нужно в базу сохранять в DateTime
А зачем тебе так сохранять?
Ща будет самое интересное
Обсуждают сегодня