Laravelでquery logをexplainするsnippet
code:php
# 有効にしたい区間で以下実行する
DB::enableQueryLog();
〜中略〜
$queries = DB::getQueryLog();
foreach ($queries as $query) {
if (Str::startsWith($query'query', 'select')) {
$q = sprintf(preg_replace('/\?/', '%s', $query'query'), ...$query'bindings');
dump($q);
dump(DB::select('explain ' . $q));
}
}