CakePHP3のクエリビルダで実行したSQLを確認したいことがあると思います。
そのような際は、下記のsql()メソッドで確認することが出来ます。
しかし、このままだと、変数がバインドされていないため、実際に流された生のSQLを取得することは出来ません。
変数がバインドされたSQLを確認したい場合は、ログに出力し確認する方法があります。
$connection->logQueries(true);でSQLのログ出力を有効にしている間、流されたSQLを確認することが出来るようになります。
出力ログ下記ディレクトリにあります。
cakeインストールフォルダ/cakephp/logs/debug.log
全てのSQLを確認したい場合は、
“Config/app.php”の”Datasources”に”log”でログの出力を設定することが出来るので、これをtrueにすることで実行したSQLをログに出力することが出来るようになります。
CakePHP2でクエリービルダー実行したSQLを確認する方法について紹介しています。