Добрый день.
Подскажите как создавать более сложные фильтры в getList. Например по связям.
Вот пример.
Задача: узнать сколько товаров в категории с кодом test
Моё решение:
Моих знаний хватает только на такое решение
//ID категории
$sectionId = '';
// Получаем id категории по коду
$dbSection = \Bitrix\Iblock\SectionTable::getList([
'filter' => ['CODE' => 'test']
]);
while ($arSection = $dbSection->fetchAll()){
$sectionId = $arSection[0]['ID'];
}
//Получаем количество товаров
$dbItems = ElementTable::getCount([
'IBLOCK_ID' => $arParams['IBLOCK_ID'],
'IBLOCK_SECTION_ID' => $sectionId
]);
//Получили количество
var_dump($dbItems);
Но мне кажется слишком много кода, чтобы проверить количество товаров, да и по идее тут 2 обращения к базе, что не есть хорошо. Подскажите как это решить в 1 getList
По идее у них (Элемент инфоблока и раздела) должна быть связь, может как то через эту связь, что то типа такого есть
$dbItems = ElementTable::getCount([
'filter' => [
'IBLOCK_ID' => $arParams['IBLOCK_ID'],
'SECTION.CODE' => 'test'
]
]);
Где можно сразу через связь фильтровать.