D7 SQL Tracker
В новом ядре присутствует возможность получить сформированный SQL.
Работает следующем образом:
Перед интересующим запросом выполнить:
\Bitrix\Main\Application::getInstance()->getConnectionPool()->getConnection()->startTracker($reset); |
где $reset флаг перезапуска трекера.
Далее делаем запрос(ОРМ или без него не имеет значения)
$arOrg = Olsc\Entity\OrgTable::getList(
array(
'select' => array(
'EMAIL_NOTICE' => 'ORG_EXT.EMAIL_NOTICE',
'IS_ACCRED'
),
'filter' => array('ID' => $this->ID)
)
); |
$arOrg->getTrackerQuery()->getSql(); //string |
Не забываем останавливать трекер:
\Bitrix\Main\Application::getInstance()->getConnectionPool()->getConnection()->stopTracker(); |
У трекера нет методов "гет" и свойства протектед но можно принтануть и увидеть всё нужную инфу.
print_r(\Bitrix\Main\Application::getInstance()->getConnectionPool()->getConnection()->getTracker()); |
Внутри работает примерно так:
Когда вызывает метод
startTracker() |