Laravel 查看SQL操作记录
未知
2019-11-26 09:20:53
0

方法一:临时打印操作记录

DB::connection()->enableQueryLog();   # 开启执行的日志
执行的sql语句    # 这里是用laravel模型查询的语句
var_dump(DB::getQueryLog());   # 打印模型查询执行的sql语句

方法二:输出SQL信息到日志文件
打开项目文件app/Providers/AppServiceProvider.php

     /**
     * 引导服务。
     *
     * @return void
     */


在boot函数中添加以下代码

            \DB::listen(function ($query) {
                $tmp = str_replace('?', '"'.'%s'.'"', $query->sql);
                $qBindings = [];
                foreach ($query->bindings as $key => $value) {
                    if (is_numeric($key)) {
                        $qBindings[] = $value;
                    } else {
                        $tmp = str_replace(':'.$key, '"'.$value.'"', $tmp);
                    }
                }
                $tmp = vsprintf($tmp, $qBindings);
                $tmp = str_replace("\\", "", $tmp);
                \Log::info(' execution time: '.$query->time.'ms; '.$tmp."\n\n\t");

            }
        );

保存,再次执行SQL操作,SQL操作就会记录到Laravel的日志中,日志目录位于storage/logs。一般是laravel-2019-12-12.log

 
 

sql

相关内容

PHP sg15 与数据库...
本文介绍了使用PHP与数据库交互的方法,特别是使用sg15框架或库...
2026-02-10 01:23:38
深入理解MySQL视图的工...
摘要: MySQL视图是一种虚拟表,通过封装SQL查询定义。它不...
2026-01-31 01:23:34
MySQL视图与普通表的区...
MySQL视图与普通表:虚拟与实际的存储方式,视图只可查询不可修改...
2026-01-30 01:23:36
MySQL视图:基础概念与...
MySQL视图是一种虚拟的表,由SQL查询定义。创建视图需使用CR...
2026-01-29 01:23:44
学习和实践:MySQL视图...
本文分享了MySQL视图的定义、作用和实战案例,包括简化复杂查询、...
2026-01-28 01:23:47
常见MySQL视图问题及解...
MySQL视图常见问题包括命名冲突、依赖性管理、性能问题和安全性问...
2026-01-27 01:23:44

热门资讯

object json转化为数... //调用api 程序,通知商户订单异常 20200314 public function callt...
tp5 composer we... 问题: 正常使用中的tp5程序需要安装微信支付v3。 tp5使用cmd面板composer requ...
laravel 对接支付宝当面... 第一步 开发中心网页移动应用下支付接入 第二步 创建应用后需添加可支付的方式 第三步 配置公钥与私钥...
tp5 jquery判断手机端... application--common.php中添加如下代码 //函数作用是判断用户打开的是手机端还...
Laravel 查看SQL操作... 方法一:临时打印操作记录 DB::connection()-enableQueryLog(); # ...
php 打印date函数出现错... 问题描述: 我使用的是phpstudy,在练习时间函数的时候,打印出现在的时间,date(Y-m-d...
Laravel 5.5 .No... 创建了新的laravel项目后, 运行提示:No application encryption ke...
生成随机字符唯一标识符guid... /** * @param $length * @return string * 生成随机字符串 */...
php函数substr_rep... php函数substr_replace从某个位置替换或删除或插入字符串
Laravel 引入自定义类库... 强烈建议引入的类 都是含有命名空间的,这样使用起来就不会出现重名的情况。!!当然,没有命名空间也可以...