Селектор Processwire. Где теперь между датой начала и датой окончания или теперь больше, чем дата начала и дата окончания, пусто - PullRequest
0 голосов
/ 11 марта 2019

Я хочу выбрать страницы, где сейчас между датой и датой окончания или теперь больше, чем дата, а дата окончания пуста.

Я пробовал пять вариантов:

$start = strtotime(date('Y-m-d') . " 00:00:00");
$results = $page->children("foo=(date<$start,date_end=''),bar=(date<$start,date_end>=$start),sort=-date,limit=12");

$start = strtotime(date('Y-m-d') . " 00:00:00");
$results = $page->children("date<$start,(date_end='',date_end>=$start),sort=-date,limit=12");

$start = strtotime(date('Y-m-d') . " 00:00:00");
$results = $page->children("date_end=''|date_end>=$start,date<$start,sort=-date,limit=12");

$start = strtotime(date('Y-m-d') . " 00:00:00");
$results = $page->children("!date_end|date_end>=$start,date<$start,sort=-date,limit=12");

$start = strtotime(date('Y-m-d') . " 00:00:00");
$results = $page->children("date_end>=$start|!date_end,date<$start,sort=-date,limit=12");

Все эти варианты не сработали и дали ноль результатов.

1 Ответ

0 голосов
/ 25 марта 2019

Правильный путь был:

$results = $page->children("date<today, (date_end>today), (date_end=''), sort=-date, limit=12");

Вы можете использовать «сегодня» вместо своей отметки времени.

...