после небольшого поиска в stackoverflow я пришел с этим запросом, который я хотел, и он выглядит так:
SELECT * FROM workers where TIMESTAMPDIFF(SECOND, last_activity_time, NOW()) >= (60/per_hour*60)
каждая запись состоит из следующих полей:
id worker_name last_activity_time per_hour
поэтому у каждого работника есть поле per_hour, которое будет определяться как число действий в час.
Последнее действие - последний раз, когда работник выполнял действие.
Он получит записи, которые могут быть запущены в текущий момент.
, поэтому он определит временной интервал с 60/per_hour
в секундах и выберет записи, время которых прошло от их last_activity_time
до настоящего времени, больше, чем этот рассчитанный интервал.
это работает хорошо, но я хочу знать две вещи.
1: этот запрос - хороший подход к этой проблеме или он медленный?
2: как выполнить этот запрос в laravel 5.5
активных записях или построителе запросов? а также он должен возвращать одну запись за раз.
заранее спасибо