如 https://laravel.com/docs/5.5/database 中所建议
的我有
DB::listen(function(query) {
....
});
从我的Laravel应用程序记录查询。
我还想找出从哪个控制器或函数调用此查询。我怎样才能做到这一点?这可能吗?
只要查询在请求期间触发,您应该能够使用它。
DB::listen(function($query) {
dd($this->app->request->route()->action['uses']);
});
output: "AppHttpControllersSomeController@someAction"
还有$this->app->request->route()->action['controller']
在无请求情况下,可能有一些方法可以使用$this-app
访问控制器。