Laravel 打印执行sql语句

2020-05-06  本文已影响0人  囧囧的猪
Laravel 5.* 版本
  1. sql执行前 开启日志
\DB::connection()->enableQueryLog();
  1. 在sql执行后获取日志并打印
$sqllog = \DB::getQueryLog();
dd($sqllog);

示例:

<?php
    use App\TestModel;
    class TestController extends Controller
    {
        public function Test() {
            \DB::connection()->enableQueryLog(); // 开启
            $list = TestModel::where('age', '=', '18')->all(); // 查找年龄=18的记录
            $sqllog = \DB::getQueryLog(); // 获取日志
            dd($sqllog); // 打印
        }
    }

返回结果

    array(1) { 
        [0]=> array(3) { 
            ["query"]=> string(28) "select * from `test` where age = 18" 
            ["bindings"]=> array(0) { } 
            ["time"]=> float(2.39) 
        }
    }
上一篇下一篇

猜你喜欢

热点阅读