在 AppServiceProvider 的boot方法中写入
use DB;
use Event;
if ( env('APP_ENV') == 'dev' ) { DB::connection()->enableQueryLog(); Event::listen('kernel.handled', function ( $request, $response ) { if ( $request->has('sql-debug') ) { $queries = DB::getQueryLog(); if (!empty($queries)) { foreach ($queries as &$query) { $query['full_query'] = vsprintf(str_replace('?', '%s', $query['query']), $query['bindings']); } } dump($queries); } }); }
在请求的url后面加入参数 ?sql-debug=1 即可看到sql语句的情况
参考地址 https://laravel-news.com/quickly-dumping-laravel-queries
还有一种方案 就是安装 barryvdh/laravel-debugbar 扩展也可以看到sql执行的情况