Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 2 Гостей просматривают эту тему.

*

atach

  • ***
  • 165
  • +6/-0
    • Просмотр профиля
Помогите с выборкой через selector
« : 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, а то выполнение скрипта увеличивается

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Помогите с выборкой через selector
« Ответ #1 : 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);
Мой блог http://umicms.me

*

atach

  • ***
  • 165
  • +6/-0
    • Просмотр профиля
Re: Помогите с выборкой через selector
« Ответ #2 : 01 Ноября 2016, 12:22:48 »
Возможно я не правильно сформулировал вопрос. Как вычислить ближайшие выходные мне понятно.
И только сейчас печатая ответ понял, что нужно было просто найти начало и конец ближайших выходных.

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