FuelPHPのクエリビルダのSQLを確認したい
FuelPHPのクエリビルダで複雑なクエリを書いていて、 本当に思った通りに書けてるの?と心配になったらSQLを表示して確認する。
$query = DB::select()->from('table'); print $query->compile(); // SELECT * FROM `table`
printとか書きたくないって時は、 以下のようにしてFuelPHPのログファイルに出力させて確認する。
Log::debug($query->compile());
ログに出てないんですけど?って場合はconfig.phpのlog_thresholdの設定がイケてないんだと思います。 何にも考えなければエラーで出しちゃえ。
Log::error($query->compile());
普通の画面だったら、プロファイリングを使うのも手。 config/development/config.phpのprofilingをtrueにして、
'profiling' => true,
config/development/db.phpにも足す。
<?php return array( 'default' => array( 'connection' => array( 'dsn' => 'mysql:host=localhost;dbname=test', 'username' => 'root', 'password' => '', ), 'profiling' => true, ), );
画面右端に現れた黒い「Code Profiler」をクリックするとプロファイリングが表示されるので、 「Database」のタブをクリックするとSQLが確認できる。