Laravel监听数据库访问,打印SQL的例子


Posted in PHP onOctober 24, 2019

增加一个helper函数

if ( ! function_exists('sql_dump')) {
  function sql_dump()
  {  
    \DB::listen(function ($sql) {
      $i = 0;
      $bindings = $sql->bindings;
      $rawSql = preg_replace_callback('/\?/', function ($matches) use ($bindings, &$i) {
        $item = isset($bindings[$i]) ? $bindings[$i] : $matches[0];
        $i++;
        return gettype($item) == 'string' ? "'$item'" : $item;
      }, $sql->sql);
      echo $rawSql, "\n<br /><br />\n";
    }); 
  }  
}

在需要开始监听数据库访问的位置添加代码

DB::connection()->enableQueryLog(); // 打开query log
sql_dump();

sql语句会被打印到标准输出。

以上这篇Laravel监听数据库访问,打印SQL的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php上传、管理照片示例
Oct 09 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
Jul 09 PHP
php.ini中date.timezone设置分析
Jul 29 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
Jan 24 PHP
Codeigniter实现多文件上传并创建多个缩略图
Jun 12 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
Oct 30 PHP
PHP实现简单的新闻发布系统实例
Jul 28 PHP
100多行PHP代码实现socks5代理服务器[2]
May 05 PHP
smarty自定义函数用法示例
May 20 PHP
PHP自定义函数实现格式化秒的方法
Sep 14 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
Oct 28 PHP
在laravel中实现ORM模型使用第二个数据库设置
Oct 24 #PHP
浅谈laravel aliases别名的原理
Oct 24 #PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
Oct 24 #PHP
laravel model 两表联查示例
Oct 24 #PHP
Laravel框架之解决前端显示图片问题
Oct 24 #PHP
laravel中的fillable和guarded属性详解
Oct 23 #PHP
laravel5.6中的外键约束示例
Oct 23 #PHP
You might like
NOT NULL 和NULL
2007/01/15 PHP
php Static关键字实用方法
2010/06/04 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
jQuery 隔行换色 支持键盘上下键,按Enter选定值
2009/08/02 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
jQuery中clone()方法用法实例
2015/01/16 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
微信小程序下拉刷新界面的实现
2017/09/28 Javascript
javaScript字符串工具类StringUtils详解
2017/12/08 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
Python探索之Metaclass初步了解
2017/10/28 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
django框架cookie和session用法实例详解
2019/12/10 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
澳大利亚领先的在线美容商店:Facial Co
2017/10/22 全球购物
韩国最大的购物网站:Gmarket
2019/06/20 全球购物
PHP数据运算类型都有哪些
2013/11/05 面试题
介绍一下XMLHttpRequest对象
2012/02/12 面试题
会计电算化专业个人的自我评价
2013/11/24 职场文书
大学生个人简历中的自我评价
2013/12/27 职场文书
企业管理培训感言
2014/01/27 职场文书
工程资料员岗位职责
2014/03/10 职场文书
比赛口号大全
2014/06/10 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
欠款证明
2015/06/24 职场文书
使用numpy实现矩阵的翻转(flip)与旋转
2021/06/03 Python
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android