如何查看 Laravel 5 的所有数据库请求

WBOY
Release: 2016-06-20 12:28:19
Original
911 people have browsed it

说明

Laravel 有一套特别灵活的数据库操作方案,此文介绍一个简单的方法来获取到所有的 SQL 语句。

1. 开启 QueryLog

我们需要先调用以下方法来告诉框架可以开始记录 SQL 请求了:

DB::enableQueryLog();
Copy after login

我们可以考虑把此段代码放置于 BeforeMiddleware中间件里(文档见 这里),使用以下命令生成 BeforeMiddleware:

php artisan make:middleware BeforeMiddleware
Copy after login

上面命令会生成 app/Http/Middleware/BeforeMiddleware.php文件,在此文件的 handle方法内:

public function handle($request, Closure $next){    DB::enableQueryLog();    return $next($request);}
Copy after login

2. 获取 QueryLog

开启了 QueryLog以后,我们就可以使用以下方法来获取到执行过 SQL:

$queries = DB::getQueryLog();
Copy after login

如果想要获取所有的 QueryLog的话,可以将代码放置于 AfterMiddleware中。

使用以下命令创建 AfterMiddleware(文档见 这里):

php artisan make:middleware AfterMiddleware
Copy after login

会生成 app/Http/Middleware/AfterMiddleware.php文件,在此文件的 handle方法内:

public function handle($request, Closure $next){    $response = $next($request);    //retrieve all executed queries    $queries = DB::getQueryLog();    //code to save query logs in a file    //return response    return $response;    }
Copy after login
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!