本文主要是介绍laravel框架中记录执行的每条sql语句,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
laravel框架中如何记录执行的每条sql语句?
在App\Providers\AppServiceProvider.php中boot方法中记录:
DB::listen(function ($query) {$tmp = str_replace('?', '"'.'%s'.'"', $query->sql);$qBindings = [];foreach ($query->bindings as $key => $value) {if (is_numeric($key)) {$qBindings[] = $value;} else {$tmp = str_replace(':'.$key, '"'.$value.'"', $tmp);}}$tmp = vsprintf($tmp, $qBindings);$tmp = str_replace("\\", "", $tmp);//$query->time 是sql语句执行的时间Log::info('execution time:'.$query->time.'ms; '.$tmp."\n\n\t");
});
这样就可以在日志中查看执行的每条sql语句了。
这篇关于laravel框架中记录执行的每条sql语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!