Я хочу дать пользователям моего приложения Laravel возможность отслеживать время, которое они тратят на разные задачи. Нажав кнопку «Пуск», я хочу создать новый экземпляр объекта «отслеживания», который имеет идентификатор и ссылку на задачу, время которой он отслеживает в качестве внешнего ключа. Кроме того, я хочу сохранить метку времени со второй секунды, когда она была создана. Позже пользователь должен остановить отслеживание еще одним нажатием кнопки. Мне нужно как-то хранить продолжительность трекинга, потому что я хочу отдавать отчеты о том, какая задача имела сколько трекингов, какое общее время всех суммировалось и т.д. остановить, как только отслеживание будет остановлено, и сохранить его в объект. Однако я хочу, чтобы пользователь мог продолжить отслеживание позже, чтобы он снова начал подсчет. Если бы я снова установил временную метку на окончание, она рассчитала бы всю продолжительность, даже если бы ее можно было отключить между ними.
Другая идея состояла в том, чтобы иметь столбцы last_started и total_duration. Когда пользователь (повторно) запускает отслеживание, включается отметка времени. Как только он его закрывает, продолжительность добавляется к текущей total_duration, а last_started снова устанавливается в нуль. Это похоже на грязный обходной путь, и я уверен, что есть лучшие варианты, о которых я хотел бы услышать.
Заранее спасибо!