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() |