Laravel 获取执行sql语句,Laravel 打印SQL语句

PHP 投稿 58600 0 评论

Laravel 获取执行sql语句,Laravel 打印SQL语句

Laravel 打印SQL语句相比其他Thinkphp或者Yii等框架要麻烦些,要在 sql执行前 开启日志,在sql执行后获取日志并打印。

Laravel 获取执行sql语句示例如下:

\DB::connection()->enableQueryLog(); //开启执行日志,加在需要打印的SQL语句之前

$list = self::where(['investorid'=>$id])->whereBetween('inserttime',[$start,$end])->where('deposit','>',0)->orderBy('id','asc')->Paginate(20);

print_r(\DB::getQueryLog()); //获取查询语句、参数和执行时间

若报DB找不到,则在顶部添加如下引用(添加完后去掉上面代码中DB前的斜线):

use Illuminate\Support\Facades\DB;

打印结果类似如下:

Array
(
    [0] => Array
        (
            [query] => select * from `user` where (`id` = ?) limit 1
            [bindings] => Array
                (
                    [0] => 40264960
                )

            [time] => 1.04 //注意这里的单位是毫秒
        )
)

编程笔记 » Laravel 获取执行sql语句,Laravel 打印SQL语句

赞同 (141) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽