@ldeimosl
Разработчик

Как сделать фильтрацию по значению свойства инфоблока в Bitrix D7?

Всем привет! Решил пересесть на новое ядро, а везде затык. Вопрос следующий - как отфильтровать элементы по свойству?

Как было раньше:
$arFilter = array('PROPERTY_XXX'=>'YYY');
Ну и далее передаем в CIBlock::GetList.

Теперь пробую так:
\Bitrix\Main\Loader::includeModule('iblock');

$queryPost = new \Bitrix\Main\Entity\Query(\Bitrix\Iblock\ElementTable::getEntity());

$queryPost
    ->setSelect(array(
        'ID','IBLOCK_ID'
    ))
    ->setFilter(array(
        'IBLOCK_ID' => 4,
        'PROPERTY_SHOW_ON_MAIN' => 'Y'
    ))
    ->setLimit(1);

$arRes = $queryPost->exec()->fetchAll();


Получаю ошибку
Unknown field definition `UF_SHOW_ON_MAIN` (UF_SHOW_ON_MAIN) for Element Entity. (100)


В целом, понятно почему - у таблицы действительно нет таких полей.. Но как тогда фильтровать?
  • Вопрос задан
  • 4216 просмотров
Решения вопроса 1
@msk-develop
Если у вас инфоблок 2.0, то здесь есть инфа.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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