默认情况下,Laravel 5中禁用了查询日志:https : //github.com/laravel/framework/commit/e0abfe5c49d225567cb4dfd56df9ef05cc297448
您将需要通过调用以下命令来启用查询日志:
DB::enableQueryLog();
或注册一个事件监听器:
DB::listen(
function ($sql, $bindings, $time) {
// $sql - select * from `ncv_users` where `ncv_users`.`id` = ? limit 1
// $bindings - [5]
// $time(in milliseconds) - 0.38
}
);
一些技巧
1.多个数据库连接
如果您有多个数据库连接,则必须指定要记录的连接
启用查询日志my_connection:
DB::connection('my_connection')->enableQueryLog();
获取以下查询日志my_connection:
print_r(
DB::connection('my_connection')->getQueryLog()
);
2.在哪里启用查询日志?
对于HTTP请求生命周期,可以在handle某些BeforeAnyDbQueryMiddleware 中间件的方法中启用查询日志,然后terminate在同一中间件的方法中检索已执行的查询。</