All Projects → areal-team → bx-data

areal-team / bx-data

Licence: MIT license
Удобные классы для 1C-Bitrix.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to bx-data

hlhelpers
Набор методов для работы с highloadblock 1С-Битрикс
Stars: ✭ 18 (-25%)
Mutual labels:  highload, bitrix
bitrixclear
Чистый шаблон 1С-Битрикс / Clear template 1C-Bitrix
Stars: ✭ 20 (-16.67%)
Mutual labels:  bitrix, bitrix-cms
bxorder
OpenSource Bitrix Order
Stars: ✭ 62 (+158.33%)
Mutual labels:  bitrix, bitrix-module
demo.adminhelper
Example of a module created using Admin Helper
Stars: ✭ 30 (+25%)
Mutual labels:  bitrix
mvc.base
Базовый компонент Битрикс для простой реализации MVC
Stars: ✭ 14 (-41.67%)
Mutual labels:  bitrix
citfact.form
Генератор форм на основе инфоблоков или highload инфоблоков для 1C-Bitrix
Stars: ✭ 30 (+25%)
Mutual labels:  1c-bitrix
coffeediz.schema
Набор компонентов 1С-Битрикс для реализации микроразметки по схеме Schema.org
Stars: ✭ 14 (-41.67%)
Mutual labels:  bitrix
highloadcup2018
HighLoad Cup 2018
Stars: ✭ 14 (-41.67%)
Mutual labels:  highload
do
Simplest way to manage asynchronicity
Stars: ✭ 33 (+37.5%)
Mutual labels:  highload
bitrix-elastic-indexer
Индексация инфоблоков Bitrix в Elasticsearch
Stars: ✭ 23 (-4.17%)
Mutual labels:  bitrix
bitrixtemplate stylish
Набор уроков по интеграции Bootstrap дизайна в 1С-Битрикс (набор демо-данных + шаблон 1C-Bitrix)
Stars: ✭ 39 (+62.5%)
Mutual labels:  bitrix
bitrix-antispam
1C Bitrix anti-spam mod.
Stars: ✭ 10 (-58.33%)
Mutual labels:  bitrix
2017-highload-kv
Курсовой проект 2017 года курса "Проектирование высоконагруженных систем"
Stars: ✭ 26 (+8.33%)
Mutual labels:  highload
bitrix-i18n
The internationalization module for Bitrix CMS
Stars: ✭ 19 (-20.83%)
Mutual labels:  bitrix
metacom
RPC communication protocol for Metarhia stack 🔌
Stars: ✭ 42 (+75%)
Mutual labels:  highload
bitrix-module-tools
ООП Фреймворк разработки проектов на CMS Bitrix
Stars: ✭ 40 (+66.67%)
Mutual labels:  bitrix
jsberry
JSBerry is open source modular simple architecture for building Node.js applications.
Stars: ✭ 85 (+254.17%)
Mutual labels:  highload
bitrix
Bitrix24 REST API client that doesn't suck. Suffer no more.
Stars: ✭ 59 (+145.83%)
Mutual labels:  bitrix
bitrix-redis
Bitrix Cache with phpredis / Кэш Битрикс на Redis
Stars: ✭ 23 (-4.17%)
Mutual labels:  bitrix
6umpukc
Тулинг для разработки сайтов и решений на Bitrix под Ubuntu/Windows
Stars: ✭ 13 (-45.83%)
Mutual labels:  bitrix

Удобные классы для доступа к данным в 1C-Bitrix одинаковым способом

Build Status Latest Stable Version Latest Unstable Version License

Вне зависимости от того инфоблок это или highload блок.

  • Вам больше не нужно помнить какой ID у инфоблока.
  • Вам больше не нужно писать кучу строк для получения элементарных данных из highload блока.

Использование

Для получения списка моделей авто достаточно написать:

$models = new \App\Catalog\Model;
$result = $models->getList();

В переменной $result вы получаете массив моделей. Больше никаких циклов, никаких GetNext, Fetch и прочего.

Выборка с фильтром, сортировкой и ограничением полей:

$models = new \App\Catalog\Model;
$result = $models->getList([
    "select" => ["id", "name", "brandId", "brandName"],
    "filter" => ["brandId" => 120],
    "order" => ["name" => "asc"],
]);

В БД уйдет один запрос вида:

SELECT
    `model`.`ID` AS `ID`,
    `model`.`UF_NAME` AS `UF_NAME`,
    `model`.`UF_BRAND` AS `UF_BRAND`,
    `model_brandname_`.`UF_NAME` AS `brandName`
FROM `b_hlbd_auto_model` `model`
LEFT JOIN `b_hlbd_auto_brand` `model_brandname_` ON `model`.`UF_BRAND` = `model_brandname_`.`ID`
WHERE `model`.`UF_BRAND` = 120
AND (`model`.`UF_DELETED` IS NULL OR `model`.`UF_DELETED` = 0)
ORDER BY `model`.`UF_NAME` ASC

Выборка с фильтром по значению в справочнике, сортировкой и ограничением полей:

$models = new \App\Catalog\Model;
$result = $models->getList([
    "select" => ["id", "name", "brandId", "brandName"],
    "filter" => ["brandName" => "renault"],
    "order" => ["name" => "asc"],
]);

В БД уйдет один запрос вида:

SELECT 
    `model`.`ID` AS `ID`,
    `model`.`UF_NAME` AS `UF_NAME`,
    `model`.`UF_BRAND` AS `UF_BRAND`,
    `model_brandname_`.`UF_NAME` AS `brandName`
FROM `b_hlbd_auto_model` `model` 
LEFT JOIN `b_hlbd_auto_brand` `model_brandname_` ON `model`.`UF_BRAND` = `model_brandname_`.`ID`
WHERE UPPER(`model_brandname_`.`UF_NAME`) like upper('renault')
AND (`model`.`UF_DELETED` IS NULL OR `model`.`UF_DELETED` = 0)

Вы можете сказать: Highload блоки могут сделать тоже самое. Пусть и несколько более многословно.

Да конечно. Только стоит вспомнить сколько нужно написать в классе описания сущности представляемым highload блоком. И сразу не хочется этого делать. Сравните что нужно написать сейчас:

namespace App\Catalog;

class Model extends \Akop\Element\HlElement
{
    protected $entityName = 'Model';
}

Это весь текст класса. ВЕСЬ. Все остальное сделано за вас.

Установка

Установка происходит стандартным для composer способом:

composer require aak74/bx-data

Демосайт

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].