170 похожих чатов

Приветствую! Подскажите, как выйти из такой ситуации: 1) В базе есть

Регионы с указанием часового пояса каждого региона.
2) В регионе есть Филиалы (One to one)
3) В филиале есть Сеансы (One to one)
4) У каждого сеанса есть дата и времся $table->timestamp('datetime'), сохраняется в UTC

Мне нужно сделать выборку из базы всех сеансов, которые находятся в диапазоне от, допустим, 14 до 18 часов.
Тут заюзал такую конструкцию
if($times = Arr::get($filters, 'timerange')) {
$query->whereTime('datetime', '>=', Carbon::parse($times[0])->toTimeString());
$query->whereTime('datetime', '<=', Carbon::parse($times[1])->toTimeString());
}

НО! Я такой выборкой получаю сеансы без учетам часового пояса.
А мне нужно получить сеансы, которые попадают в выбранный диапазон времени по часовому поясу региона, где сеанс проводится.
Т.е. я не могу просто скорректировать время на какой-то один часовой пояс, мне нужно получит сеанс в 15 часов в Питере и сеанс в 15 часов в Кемеров, например.

Что вообще делать?

3 ответов

5 просмотров

так если ты хранишь в UTC то и ищи по UTC

В таблице регионов есть часовой пояс? Если нет,добавь и делай выборку сеансов with регионы

на ум приходит толькой такой ход: 1. выбрать нужные регионы. 2. найти в ргеионах мин макс по часовым поясам. мин часовой пояс перемножить с минимальным временем (которое "от") для получения timestamp. тоже для максимума. 3. выбрать все сеансы которые поподают в нужный фильтр. 4. проставить все связи от сеансов к регионам. 5. последняя фильтрация - проверяем попадают ли сеансы заданные часы согласно часовым поясам того региона к которому привязаны

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Кто может подсказать? Я преобрпзовал изображение в бинарное(у меня установлен трекбар который при установленном значении меняет пиксели на белый если меньше и чёрный если боль...
Константин VS
6
Карта сайта