мягкое удаление не работает, когда $ dateFormat = U

Я пытаюсь импортировать softDelete в текущий проект. В файле миграции я добавил:

$table->softDeletes();

В модели. Получил вот что:

protected $dateFormat = 'U';

Но удаление не работает, как я ожидал.

Недопустимый формат даты и времени: 1292 Неправильное значение даты и времени: '1579188678' для столбца «deleted_at»

Итак, мой вопрос в том, как я могу использовать deleted_at в качестве времени unix или как использовать столбец deleted_at в качестве метки времени, когда protected $dateFormat = 'U'; он все еще существует. Заранее спасибо.


person Ali Özen    schedule 16.01.2020    source источник
comment
Отвечает ли это на ваш вопрос? Мягкое удаление Laravel 5.2 не работает   -  person pr1nc3    schedule 16.01.2020


Ответы (1)


Поскольку вы хотите использовать метку времени Unix в качестве формата, вы не можете использовать методы ->sofDeletes() и ->timestamps() при миграции, вам нужно установить их самостоятельно как целые числа.

$table->integer('created_at')->nullable();
$table->integer('updated_at')->nullable();
$table->integer('deleted_at')->nullable();
person N69S    schedule 16.01.2020
comment
ну это так просто. Немного стыдно было :) Думал труднее всего. например, protected $ date = ['deleted_at' = ›'string']; и т.д. Спасибо, сэр. - person Ali Özen; 16.01.2020