ホームページ  >  記事  >  バックエンド開発  >  Laravel 5 ですべてのデータベースリクエストを表示する方法

Laravel 5 ですべてのデータベースリクエストを表示する方法

WBOY
WBOYオリジナル
2016-06-20 12:28:19912ブラウズ

説明

Laravel は特に柔軟なデータベース操作スキームを備えており、すべての SQL ステートメントを取得する簡単な方法を紹介します。

1. QueryLog をオンにします

最初に次のメソッドを呼び出して、フレームワークに SQL リクエストの記録を開始するように指示する必要があります:

DB::enableQueryLog();

このコードを配置することを検討できます。 BeforeMiddleware ミドルウェア (こちらのドキュメントを参照) で、次のコマンドを使用して BeforeMiddleware を生成します。

php artisan make:middleware BeforeMiddleware

上記のコマンドは、ハンドル メソッド内に app/Http/Middleware/BeforeMiddleware.php ファイルを生成します。このファイルの

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

2. QueryLog の取得

QueryLog をオンにした後、次のメソッドを使用して実行された SQL を取得できます。

$queries = DB::getQueryLog();

Ifすべてを取得したい場合は、QueryLog のコードを AfterMiddleware に配置できます。

次のコマンドを使用して AfterMiddleware を作成します (ドキュメントはこちら):

php artisan make:middleware AfterMiddleware

このファイルの handle メソッド内で、app/Http/Middleware/AfterMiddleware.php ファイルが生成されます。

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;    }
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。