SqlMiddleware.php 851 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. use Illuminate\Support\Facades\DB;
  5. class SqlMiddleware
  6. {
  7. /**
  8. * Handle an incoming request.
  9. *
  10. * @param \Illuminate\Http\Request $request
  11. * @param \Closure $next
  12. * @return mixed
  13. */
  14. public function handle($request, Closure $next)
  15. {
  16. if ($request->sql_debug==1) {
  17. DB::connection()->enableQueryLog();
  18. }
  19. $response = $next($request);
  20. if ($request->get('sql_debug')) {
  21. $queries = DB::getQueryLog();
  22. if (!empty($queries)) {
  23. foreach ($queries as &$query) {
  24. $query['full_query'] = vsprintf(str_replace('?', '%s', $query['query']), $query['bindings']);
  25. }
  26. }
  27. dd($queries);exit;
  28. }
  29. return $response;
  30. }
  31. }