laravel 中获取执行的sql语句

1.通过listen方法实现,一般是作为监听事件,加到服务里面。每次执行sql,输出对应的执行语句
5.4版本直接这么使用
DB::listen(function($sql, $bindings, $time) {
echo ‘SQL语句执行:’.$sql.’,参数:’.json_encode($bindings).’,耗时:’.$time.’ms’;
});


5.4之前版本
DB::listen(function($sql, $bindings, $time) {
echo ‘SQL语句执行:’.$sql.’,参数:’.json_encode($bindings).’,耗时:’.$time.’ms’;
});

具体信息可以参考: http://laravelacademy.org/post/854.html

2.也可以使用
DB::enableQueryLog();
执行语句
dd(DB::getQueryLog());


可以参考: https://stackoverflow.com/questions/27753868/how-to-get-the-query-executed-in-laravel-5-dbgetquerylog-returning-empty-arr

3.使用composer安装

"barryvdh/laravel-debugbar": "^2.0"

你可能感兴趣的:(php)