Документация для разработчиков
Темная тема

compileEntity

\Bitrix\Iblock\ORM\ElementEntity|false public static
\Bitrix\Iblock\IblockTable::compileEntity(
	string|\Bitrix\Iblock\Iblock $iblockApiCode
);

Создает ORM-описание элементов инфоблока и класс для работы с ними. Статический метод.

Параметры

Параметр Описание
$iblockApiCode Символьный код API инфоблока из поля API_CODE либо объект \Bitrix\Iblock\Iblock. Для объекта метод загружает API_CODE при необходимости

Возвращаемое значение

Объект \Bitrix\Iblock\ORM\ElementEntity. Если инфоблок не найден, его API_CODE пуст или имя класса данных пусто, возвращает false.

Особенности

Параметр не имеет типа в PHP-объявлении. Для скалярного значения метод ищет запись по API_CODE; идентификатор ID и символьный код CODE для этого поиска не используются.

Имя класса имеет вид Bitrix\Iblock\Elements\Element{ApiCode}Table: первая буква кода становится заглавной. Если класс уже загружен, метод возвращает его ORM-описание.

При VERSION = 1 базовый класс — ElementV1Table, иначе — ElementV2Table. Метод добавляет связь SECTIONS с разделами и связи со свойствами по их символьным кодам. Свойства с пустым кодом пропускает.

Для пользовательского типа свойства метод вызывает GetORMFields, если такой обработчик задан. Ошибки ORM могут привести к исключениям \Bitrix\Main\ArgumentException, \Bitrix\Main\ObjectPropertyException и \Bitrix\Main\SystemException.

Пример

Пример выполняется в окружении с подключенным ядром Bitrix.

<?php

use Bitrix\Iblock\IblockTable;
use Bitrix\Main\Loader;

try
{
	if (!Loader::includeModule('iblock'))
	{
		echo 'Не удалось подключить модуль iblock';
		return;
	}

	$apiCode = 'Catalog'; // API_CODE существующего инфоблока
	$entity = IblockTable::compileEntity($apiCode);

	if ($entity === false)
	{
		echo 'Не удалось получить ORM-описание элементов';
		return;
	}

	echo 'ORM-описание элементов готово';
}
catch (\Throwable $exception)
{
	echo 'Ошибка: ' . htmlspecialchars($exception->getMessage(), ENT_QUOTES, 'UTF-8');
}


Была ли эта страница полезна?

Пользовательские комментарии

Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026
Наверх