はじめに
こんにちは。昨日、高校の頃の友人にVBAわかると聞かれて、書いたことも見たこともないですが、相談に乗りました。意外とできるもんですね、筆者です
さて今回は、私が業務で使用している便利な古(いにしえ)のコードを紹介します。
ぜひご活用くださいませ
経緯
実装している際に、MySQL Workbench等でDBに繋いで生SQL叩いて確認するケースが結構あります。
それをコードに落とし込む場合や、バグ等で期待しているものが表示されていな場合などの調査の際に、プログラムで実行されているSQLを確認するケースなどもあります。
その際に、生のSQLで出力して、コピペしてMySQL Workbench等に貼り付けて実行するためには、プレースホルダの値も埋め込む必要があります。
そんなときにこれ!
LaravelのEloquentで実行SQLをプレースホルダの値を埋め込んで生SQLで確認したい
これです↓
$stmt->get();
$sql = preg_replace_array('/\?/', $stmt->getBindings(), $stmt->toSql());
dd($sql);
解説
SQL実行後、実行SQLを取得し、?
の部分をプレースホルダの値で置き換えているだけです。
あとはdd
などで出力すればOK!
おわりに
これすごい便利なのでぜひ使ってください
それでは!