O/Rマッパーは便利なんだけどパフォーマンスとか考えると生のSQLみたい事がよくある.
というか生SQLの方がわかりやすいことも正直多い....
ということで生のSQLを出す方法を調べた.
1. toSqlを使う
ちょっと見るにはシンプルでよい.
$query = $User::where('id', false)->toSql(); dd($query);
2. enableQueryLogを使う
\DB::enableQueryLog() 以降のクエリを \DB::getQueryLog() でまとめて取得できる.
eager loadingとか考えるときには便利でよい.
\DB::enableQueryLog(); // 何かSQL実行 $user_list = $User::where('id', false)->get(); // SQLログを取得してdump dd(\DB::getQueryLog());