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が確認できる。