Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alex19pov31/bitrix-orm-helper
Хелпер для работы с таблицами через API CMS Bitrix
https://github.com/alex19pov31/bitrix-orm-helper
bitrix helper php
Last synced: about 1 month ago
JSON representation
Хелпер для работы с таблицами через API CMS Bitrix
- Host: GitHub
- URL: https://github.com/alex19pov31/bitrix-orm-helper
- Owner: alex19pov31
- Created: 2019-03-20T17:39:13.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-07-25T06:12:44.000Z (over 5 years ago)
- Last Synced: 2024-04-05T11:20:40.855Z (10 months ago)
- Topics: bitrix, helper, php
- Language: PHP
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![Latest Stable Version](https://poser.pugx.org/alex19pov31/bitrix-orm-helper/v/stable)](https://packagist.org/packages/alex19pov31/bitrix-orm-helper)
# Bitrix ORM helper
Генерирует объект D7 **Bitrix\Main\ORM\Data\DataManager** по названию таблицы без необходимости создания отдельного класса.
## Простая генерация
Поля для описания класса вытягиваются из описания таблицы запросом - DESC table_name.
```php
$data = DataManager::init('b_iblock') // Имя таблицы - b_iblock
->getList([
'filter' => [ // Выборка элементов с ID > 0
'>ID' => 0,
],
'cache' => [
'ttl' => 86400, // Кешируем данные на сутки
],
])
->fetchAll();
```## Генерация с настройкой полей
```php
$manager = new DataManager('b_iblock')
$manager->reset(); // Удаляем ранее сгенерированный класс для работы с данными
$manager->setFieldsRaw([ // Описание полей в формате bitrix
'ID' => [
'data_type' => 'integer',
'required' => false,
'primary' => true,
'autocomplete' => false,
],
'NAME' => [
'data_type' => 'string',
],
]);
$manager->addFieldRaw(
'IBLOCK_TYPE_ID', // Код добавляемого поля
['data_type' => 'string'] // описание поля в формате bitrix
);
$manager->addField('NAME', 'string'); // Добаление нового поля
$datamanager = $manager->getDataManager(); // получаем объект для работы с данными
$data = $datamanager->getList([
'filter' => [ // Выборка элементов с ID > 0
'>ID' => 0,
],
'cache' => [
'ttl' => 86400, // Кешируем данные на сутки
],
])
->fetchAll();
```