arrilot / bitrix-models

MIT License
121 stars 37 forks source link

Object initialization failed #15

Closed art-ps closed 6 years ago

art-ps commented 6 years ago

Иногда на разных машинах получение элементов из БД падает с ошибкой:

[LogicException] Object initialization failed (0) /var/www/artem/data/www/mysite.ru/local/vendor/arrilot/bitrix-models/src/Models/BitrixModel.php:218

0: Arrilot\BitrixModels\Models\BitrixModel::instantiateObject()

/var/www/artem/data/www/mysite.ru/local/vendor/arrilot/bitrix-models/src/Models/ElementModel.php:136

1: Arrilot\BitrixModels\Models\ElementModel::query()

/var/www/artem/data/www/mysite.ru/local/vendor/arrilot/bitrix-models/src/Models/BaseBitrixModel.php:274

2: Arrilot\BitrixModels\Models\BaseBitrixModel::__callStatic(string, array)

/var/www/artem/data/www/mysite.ru/local/classes/Myhelp.php:54

3: Artem\Myhelp->isPromotion(string)

/var/www/artem/data/www/mysite.ru/local/templates/vabank_map/components/bitrix/news.detail/guides/component_epilog.php:85

4: include(string)

/var/www/artem/data/www/mysite.ru/bitrix/modules/main/classes/general/component.php:1398

5: CBitrixComponent->includeComponentEpilog(array)

/var/www/artem/data/www/mysite.ru/bitrix/modules/main/classes/general/component.php:965

6: CBitrixComponent->startResultCache(integer, array)

/var/www/artem/data/www/mysite.ru/bitrix/components/bitrix/news.detail/component.php:137

7: include(string)

/var/www/artem/data/www/mysite.ru/bitrix/modules/main/classes/general/component.php:551

8: CBitrixComponent->__includeComponent()

/var/www/artem/data/www/mysite.ru/bitrix/modules/main/classes/general/component.php:603

9: CBitrixComponent->includeComponent(string, array, NULL)

/var/www/artem/data/www/mysite.ru/bitrix/modules/main/classes/general/main.php:1041

10: CAllMain->IncludeComponent(string, string, array)

/var/www/artem/data/www/mysite.ru/guides/index.php:55

11: include_once(string)

/var/www/artem/data/www/mysite.ru/bitrix/modules/main/include/urlrewrite.php:159

12: include_once(string)

/var/www/artem/data/www/mysite.ru/bitrix/urlrewrite.php:2

Функция в которой происходит вызов:

    public function isPromotion($qid)
    {
        $res = \Questions::select('PROPERTY_PROMODATE')->getById($qid);
        return $res['PROPERTY_PROMODATE_VALUE'];
     }
arrilot commented 6 years ago

Это происходит потому что у вас не подключён модуль инфоблоков CModule::IncludeModule('iblock') Лично я всегда добавляю эту строчку прямо в init.php