Задать вопрос

Как в фильтре задать условие OR?

Надо выбрать элементы с заполненным PROPERTY_TIME вне периода $from, $to и с пустым PROPERTY_TIME. Сделал так, но выдает пустую выборку, хотя элементы такие есть. Так понимаю, что он стыкует условия через AND, а как задать OR ?

$arFilter = Array(
        "IBLOCK_ID" => $iblock_id,
        "SECTION_ID" => $section_id,
        "INCLUDE_SUBSECTIONS" => "Y",
        "<PROPERTY_TIME" => array(false, date('Y-m-d H:i:s', $from)),
        ">PROPERTY_TIME" => array(false, date('Y-m-d H:i:s', $to)),
    );

    $elList = new CIBlockElement();
    $rs = $elList->GetList(
        Array("RAND" => "ASC"),
        $arFilter,
        false,
        Array("nTopCount" => 5),
        Array("ID", "NAME")
    );
  • Вопрос задан
  • 1449 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@SirBataneg
веб-разработчик
битрикс фильтр со сложной логикой site:dev.1c-bitrix.ru

array( 
"LOGIC" => "OR", 
"<PROPERTY_TIME" => array(false, date('Y-m-d H:i:s', $from)),
">PROPERTY_TIME" => array(false, date('Y-m-d H:i:s', $to)),
)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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