[Laravel]queryのSQLを得る方法

Laravel ロゴ

Queryオブジェクトの発行予定のSQLを得る方法です。

$sqlDump = preg_replace_array('/\?/', array_map(function($n) {
    return "'".$n"'";
}, $query->getBindings()), $query->toSql());

getBindings()をarray_map()で加工しています。通常なくてもよさそうですが、Bindしたパラメータを囲ってくれますので、そのままSQLとして実行できるようになります。

タイトルとURLをコピーしました