[PHP] Laravel 5.5 打印SQL语句
四种方法
第一种方法:
打印SQL默认是关闭的,需要在/vendor/illuminate/database/Connection.php中打开。
//protected $loggingQueries = false;
protected $loggingQueries = true;
之后可在代码中使用了:
publicfunction index(){
$result= DB::select('select * from activity');
$log=DB::getQueryLog();
var_dump($log);
}
第二种方法:
如果不想开启但需要临时查看,可以这样操作:
publicfunction index(){
DB::connection()->enableQueryLog();
$result= DB::select('select * from activity');
$log=DB::getQueryLog();
var_dump($log);
}
第三种方法:
在需要打印的语句前,添加监听
DB::listen(function($query) {
$bindings = $query->bindings;
$sql = $query->sql;
foreach ($bindings as $replace){
<