Bitrix модели

Установка

composer require beta/bx.model

Описание

Модели отражают сущности используемые в проекте: элементы инфоблоков, элементы hl блоков или записи в произвольной таблице. Представляют из себя формализованные данные и предоставляют интерфейс для более удобного оперирования данными.

Для интеграции с СУБД используются сервисы - ModelServiceInterface, данные сервисы имплементируют базовые операции:

  • Запрос списка элементов сущностей (по определенным критериям) - список моделей или коллекция
  • Запрос конкретного элемента сущности - модель
  • Добавление/обновление элемента сущности - модели
  • Удаление элемента сущности - модели

В репозитории есть несколько реализованных сервисов:

  • FileService - позволяет работать с файлами из таблицы b_file
  • UserService - позволяет работать с пользователями из таблицы b_user

Для реализации новых моделей необходимо использовать абстрактный класс AbsOptimizedModel, данный класс требует имплементации только одного метода toArray(): array

Все сервисы моделей должны имплементировать интерфейс ModelServiceInterface. Есть вспомогательные абстрактные классы:

  • BaseModelService
  • BaseLinkedModelService - предоставляет возможность подгрузки связанных моделей