"Список".
Как использовать JOIN, чтобы сократить количество запросов?
https://pastebin.com/jGY5Be0N
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'];
}
Примерно как тут только 3 таблицы видимо будет https://www.php.net/manual/ru/reflectionclass.getfilename.php
Bitrix\Iblock\ElementPropertyTable — это на основе какой таблицы построено?
Обсуждают сегодня