Для простых у меня есть поле (timestamp) started_at
, (int) duration
и у меня есть строки с идентификаторами [1, 2, 3]
. Когда я удаляю первый объект, я хочу обновить поле started_at
во всех следующих строках (в моем примере это строки 2 и 3).Обновление нескольких временных штампов Laravel ORM Eloquent
Я пытался сделать что-то вроде этого:
Model::where('id', '>', $myObject->id)
->update([
'started_at' => DB::raw('started_at - ' . $myObject->duration),
]);
Но эта конструкция устанавливается мои поля 0000-00-00 00:00:00
. Как я могу это исправить?
Я знаю о 'UNIX_TIMESTAMP()' или что-то в этом роде в MySQL, но я хочу найти глобальное решение для своей проблемы;) – ventaquil
Фактически это может быть хорошим вариантом, если вы хотите легко добавлять/вычитать интервалы без использования Функции, специфичные для РСУБД. Создайте временную метку в PHP, сохраните ее, а затем вы сможете выполнять с ней математические операции. –
Я мог хранить данные в переменных PHP, но для многих данных у меня много обновлений :( – ventaquil