Исполняя принял ответ, вы можете использовать следующий код после этого выполнения запроса.
\Propel::getConnection()->getLastExecutedQuery() // Returns fully qualified SQL
Это позволяет увидеть полного запрос (включая некоторые столбцы и принесенные параметры), который был отправлен в базу данных.
UPD: (как было упомянуто @bbird)
Эта команда не выводит ничего, если useDebug
не true
:
\Propel::getConnection()->useDebug(true);
UP D2: (, если вы используете Symfony рамки)
Еще одна вещь стоит упомянуть PropelORM + Symfony.
Если вам нужно отслеживать SQL, это возможно с помощью журналов. Propel имеет собственный канал monolog под названием propel
, а полные запросы регистрируются с помощью DEBUG
уровня журнала на соответствующем канале ().
Log записи/запроса выглядит следующим образом:
[2016-10-04 17:00:46] propel.DEBUG: time: 0.000 sec | mem: 24.8 MB | connection: default | SELECT `id`, `username`, `email`, `last_login` FROM `users` WHERE `id` = 123 [] []
Так просто ... :) – twigmac
Обратите внимание, что вы не получите конкретные 'select' столбцы в приведенном выше запросе - Propel делает это прямо перед находкой , Таким образом, вы должны увидеть что-то вроде: 'SELECT FROM book WHERE id =: p1; ...: p1 => 25' – jakerella
@jakerella: можете ли вы расширить это в ответ? Я не уверен, что дает понять, как делать то, что вы предлагаете. – halfer