ホームページ >バックエンド開発 >PHPチュートリアル >Laravel 5 ですべてのデータベースリクエストを表示する方法
Laravel は特に柔軟なデータベース操作スキームを備えており、すべての SQL ステートメントを取得する簡単な方法を紹介します。
最初に次のメソッドを呼び出して、フレームワークに 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);}
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; }