Я использую Laravel 6. Я создал систему продажи билетов и успешно загрузил ее на сервер.
Я сохраняю время создания заявки в поле created_at
в моей базе данных MySQL. Проблема в том, что иногда метка времени в поле created_at
верна, а иногда она хранит неправильную метку времени.
Проблема странная, я не могу ее понять и не знаю, как отладить эту проблему.
Мой часовой пояс в Laravel config / app. php установлен как Asia / Kolkata
'timezone' => 'Asia/Kolkata',
Вот мой метод создания билета
$ticket_tracker = TICKET_TRACKER::create
([
'ticket_no' => $ticket_number,
'partner_id' => $partner_id,
'team_id' => $team_id,
'priority_id' => $priority_id,
'opened_date' => $opened_date,
'created_by' => $user_id,
]);
created_at
поле не входит в приведенный выше код, так как Laravel сохраняет само время.
Структура таблицы
введите описание изображения здесь
После дальнейшего изучения проблемы я обнаружил, что MySQL хранит правильную временную метку, когда я создавал заявку для тестирования. Через несколько часов я создал другой билет, который сохранен с правильной меткой времени, но метка времени моего старого билета изменилась сама (я не знаю, как это произошло).
Также я обнаружил, что мой глобальный часовой пояс и часовой пояс сеанса это система, которая является UT C, я думаю, потому что мое текущее время на 5,30 часа опережает отметку времени, отображаемую этой командой CURRENT_TIMESTAMP