【发布时间】:2016-12-09 20:44:19
【问题描述】:
我试图通过侦听查询事件来实现这一点,但我似乎不知道我是如何获得计数的。这只是检索查询列表,因为无法修改回调函数以返回计数变量:
DB::listen(function ($query) {
var_dump('<pre>'.$query->sql.</pre>);
});
我需要一个解决方案来计算 Laravel 执行的每个页面的查询。
【问题讨论】:
-
您可以使用
$queries = DB::getQueryLog();,但您应该先启用日志:DB::connection()->enableQueryLog(); -
当我想在生产中使用它时我应该这样做吗?
-
不建议仅用于调试!你可以使用
if (App::environment('local')) { DB::enableQueryLog(); } -
但我需要这个用于生产站点中的特定用户
-
Laravel 可以选择将所有为当前请求运行的查询记录到内存中。请注意,在某些情况下,例如在插入大量行时,这可能会导致应用程序使用过多的内存。 -> Doc
标签: database laravel laravel-5