Получаю элементы инфоблока и значение их свойства типа "Список".
Как на примере этого кода использовать JOIN, чтобы сократить количество запросов?
| Код |
|---|
use Bitrix\Iblock\ElementTable;
use Bitrix\Iblock\PropertyEnumerationTable;
use Bitrix\Iblock\ElementPropertyTable;
$idArray = [];
$resultObj = ElementTable::getList([
'select' => ['ID'],
'filter' => ['IBLOCK_ID' => 1, "IBLOCK_SECTION_ID" => 1, 'ACTIVE'=>'Y'],
]);
while ($rowArray = $resultObj->fetch()) {
$idArray[] = $rowArray['ID'];
}
$idElementArray = [];
$resultObj = ElementPropertyTable::getList([
'select' => ['VALUE'],
'filter' => [
'IBLOCK_ELEMENT_ID' => $idArray,
'IBLOCK_PROPERTY_ID' => 1
],
]);
while ($rowArray = $resultObj->fetch()) {
$idElementArray[] = $rowArray['VALUE'];
}
$resultObj = PropertyEnumerationTable::getList([
'select' => ['VALUE'],
'filter' => ['ID' => $idElementArray],
]);
while ($rowArray = $resultObj->fetch()) {
$arResult[$rowArray['ID']] = $rowArray['VALUE'];
} |
Как на примере этого кода использовать JOIN, чтобы сократить количество запросов?