我想在控制器laravel中获取Query,但我必须使用DB::enableQueryLog()
在函数i中DB::getQueryLog()
。应用开始时我想要DB::enableQueryLog()
。在控制器中DB::getQueryLog()
没有DB::enableQueryLog()
。
请帮忙!非常感谢
答案 0 :(得分:1)
您可以通过\DB::listen
投放所有问题。例如,在您的一个ServiceProvider中,您可以使用以下代码注册一个侦听器,将所有查询记录到文件中:
if (app()->environment() == 'local') {
\DB::listen(function ($event) {
app('<your custom logger>')->debug(\Request::getPathInfo() . '[' . $event->time . '] ' . $event->sql, $event->bindings);
});
}