Skip to content
This repository has been archived by the owner on Jan 10, 2023. It is now read-only.

Releases: arrilot/bitrix-models

0.6.7

10 Mar 17:01
Compare
Choose a tag to compare

SQL запросы сделанные через illuminate/database теперь доступны для отладки через отладчик Битрикса.

0.6.6

02 Mar 20:40
Compare
Choose a tag to compare

Мелкие изменения в тестах для совместмимости их (а не используемой Битриксом!) с php7.2

0.6.5

02 Mar 19:20
Compare
Choose a tag to compare

Добавлена возможность управления перестройкой поискового индекса при добавлении/изменении элементов/разделов инфоблоков.

За подробностями см п3 раздела "Некоторые дополнительные моменты"

0.6.4

13 Feb 18:05
889fac9
Compare
Choose a tag to compare

В селекте UserQuery теперь можно указывать конкретные свойства (UF_FOO например)

0.6.3

21 Jan 19:48
Compare
Choose a tag to compare

Добавлено включение illuminate/events в Eloquent моделях в случая если этот модуль с событиями установлен.

0.6.2

16 Dec 09:11
Compare
Choose a tag to compare

У Битрикса есть особенность связанная с обработкой множественных пользовательских свойств в CBlockSection::GetList().

По-умолчанию, всё ок, возвращается массив

array(2) {
      [0]=>
      string(1) "1"
      [1]=>
      string(1) "0"
    }

Но если передавать параметры для постраничной навигации (nPageSize, то есть по-сути offset/limit), то он почему-то перестаёт их десериализовать и получаем.

string(50) "a:2:{i:0;s:1:"1";i:1;s:1:"0";}"

В новой версии bitrix-models мы подчищаем за Битриксом и автоматически десериализуем то что недесериализовано.

До этого например getList() и first() у SectionQuery возвращали данные отформатированные по-разному.
Если вы вдруг вручную где-то проводили эту десериализацию, то после обновления до 0.6.2 её надо убрать, но в целом это bugfix

0.6.1

07 Dec 12:53
Compare
Choose a tag to compare
Merge branch 'master' of /~https://github.com/arrilot/bitrix-models

0.6.0

07 Dec 09:49
Compare
Choose a tag to compare

Новые возможности и исправления:

  1. Добавлена новая модель D7Model, которую можно использовать для работы с произвольными таблицами описанными при помощи сущностей D7 или Хайлоадблоков
  2. Добавлена возможность кэшировать запросы любых моделей через ->cache($minutes)
  3. Добавлен воркараунд для проблемы "Too many tables; MySQL can only use 61 tables in a join." в первой версии инфоблоков. Нужно задать константу IBLOCK_VERSION=1 в классе-модели.
  4. Добавлена возможность использования GetNext($bTextHtmlAuto, $use_tilda) вместо Fetch() для ElementModel, SectionModel и UserModel. до этого момента всегда жестко использлвался Fetch().
  5. В onBeforeSave(), onBeforeCreate(), onBeforeUpdate(), onBeforeDelete теперь можно модифицировать поля объекта через $this->fields. Раньше в этом не было смысла так как эти поля не использвались, а использовалась копия которую мы передаём изначально.
  6. Также в onBeforeUpdate() и onBeforeSave() теперь доступен массив $this->fieldsSelectedForSave в котором содержатся ключи полей которые мы собираемся обновлять.
  7. В onAfter....($result) событиях теперь доступен массив ошибок через $this->eventErrors;
  8. Пакет теперь поддерживает illuminate 5.5

Изменения нарушающие обратную совместимость

  1. Для ElementModel, SectionModel и UserModel если при save/update/delete возникает ошибка внутри Битрикса (например не задано название элемента инфоблока), то выбрасывается исключение \Arrilot\BitrixModels\Exceptions\ExceptionFromBitrix с этой ошибкой/ошибками вместо того чтобы просто вернуть false. Для create это и раньше так было, но выбрасывался просто \Exception.
    Все эти исключения выбрасываются уже ПОСЛЕ событий onAfterCreate, onAfterUpdate, OnAfterSave, OnAfterDelete

0.5.4

06 Oct 00:10
Compare
Choose a tag to compare

Поправлена ошибка множественных множественных свойств в ИБ 1 версии

0.5.3

29 Sep 00:29
Compare
Choose a tag to compare
Better Model::create()