UMIhelp

Разработка дополнительного функционала => Custom макросы => Тема начата: atach от 01 Ноября 2016, 12:11:54

Название: Помогите с выборкой через selector
Отправлено: atach от 01 Ноября 2016, 12:11:54
Добрый день. Подскажите такой вопрос.
Я делаю через выборку new selector('objects'); Выбираю объекты с фильтрацией по полю дата-время.

К примеру для выбора "завтрашних" записей я делаю выборку:
$schedule->where('event_date')->eqmore(strtotime('+1 day', time()));
$schedule->where('event_date')->eqless(strtotime('+2 day', time()));
Т.е. между двумя датами.

Вопрос, а как можно сделать выборку ближайших выходных.
Сейчас я делаю путем перебора всех имеющихся записей и помещаю их в массив и потом фильтрую сортирую по типу дня недели и т.п. Может как то можно это сделать прям в выборке UMI.Selector, а то выполнение скрипта увеличивается
Название: Re: Помогите с выборкой через selector
Отправлено: aghigay от 01 Ноября 2016, 12:20:05
Не очень понимаю как эта задача относится к UMI, но ладно. Алгоритм такой:
1. Определяете дату ближайших выходных
2. Подставляете эту дату в свой селектор


PS: date("N") возвращает число дня недели, 1 - понедельник ... 7 - воскресенье
//ближайшее воскресенье
$d  = mktime(0, 0, 0, date("m"), date("d") + 7 - date("N"), date("Y"));
echo date('Y-m-d', $d);
Название: Re: Помогите с выборкой через selector
Отправлено: atach от 01 Ноября 2016, 12:22:48
Возможно я не правильно сформулировал вопрос. Как вычислить ближайшие выходные мне понятно.
И только сейчас печатая ответ понял, что нужно было просто найти начало и конец ближайших выходных.

Извиняюсь за глупость....