Прошу подсказать, как сделать выборку разделов инфоблока с полем, в котором будет значение количества элементов раздела.
Вот вроде код, но в пустом разделе показывает 1 ...
$iBlockId = 10;
$sectionId = 53;
$filter = [
'IBLOCK_ID' => $iBlockId,
'ACTIVE' => 'Y',
'IBLOCK_SECTION_ID' => $sectionId
];
$select = [
'ID', 'IBLOCK_ID', 'ELEMENTS_COUNT'
];
$runtime = [
'elements' => [
'data_type' =>"Bitrix\Iblock\ElementTable",
'expression' => 'COUNT(*)',
'reference' => [
'=this.IBLOCK_ID' => 'ref.IBLOCK_ID',
'=this.ID' => 'ref.IBLOCK_SECTION_ID',
'=this.ACTIVE' => 'ref.ACTIVE',
],
//'join_type' => "LEFT"
],
new Bitrix\Main\Entity\ExpressionField('ELEMENTS_COUNT', 'COUNT(*)')
];
$res = Bitrix\Iblock\SectionTable::getList(
[
'filter' => $filter,
'select' => $select,
'runtime' => $runtime
]
);
while($section = $res->fetch())
{
\Bitrix\Main\Diag\Debug::dump($section, $section['ID']);
}