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&amp;&amp;mysql)二
Oct 09 PHP
两个开源的Php输出Excel文件类
Feb 08 PHP
php下网站防IP攻击代码,超级实用
Oct 24 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
Apr 25 PHP
PHP设计模式之代理模式的深入解析
Jun 13 PHP
浅析php数据类型转换
Jan 09 PHP
php中动态修改ini配置
Oct 14 PHP
PHP数组操作――获取数组最后一个值的方法
Apr 14 PHP
Yii2使用自带的UploadedFile实现的文件上传
Jun 20 PHP
Laravel下生成验证码的类
Nov 15 PHP
PHP实现常用排序算法的方法
Feb 05 PHP
分享8个Laravel模型时间戳使用技巧小结
Feb 12 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
在普通HTTP上安全地传输密码
2007/07/21 PHP
php后退一页表单内容保存实现方法
2012/06/17 PHP
PHP整数取余返回负数的相关解决方法
2014/05/15 PHP
ThinkPHP5+Layui实现图片上传加预览功能
2018/08/17 PHP
Mootools 1.2教程(2) DOM选择器
2009/09/14 Javascript
js 第二代身份证号码的验证机制代码
2011/05/12 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
JSON中双引号的轮回使用过程中一定要小心
2014/03/05 Javascript
javascript的propertyIsEnumerable()方法使用介绍
2014/04/09 Javascript
使用jQuery的attr方法来修改onclick值
2014/07/07 Javascript
js实现的类似于asp数据字典的数据类型代码实例
2014/09/03 Javascript
JavaScript数组的一些奇葩行为
2016/01/25 Javascript
nodejs实现bigpipe异步加载页面方案
2016/01/26 NodeJs
javascript学习之json入门
2016/12/22 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
JS轮播图实现简单代码
2021/02/19 Javascript
使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件(推荐)
2018/05/01 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
如何实现iframe父子传参通信
2020/02/05 Javascript
解决VUE-Router 同一页面第二次进入不刷新的问题
2020/07/22 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
nodejs中的异步编程知识点详解
2021/01/17 NodeJs
Python中DJANGO简单测试实例
2015/05/11 Python
Python pass详细介绍及实例代码
2016/11/24 Python
python入门教程 python入门神图一张
2018/03/05 Python
Python离线安装PIL 模块的方法
2019/01/08 Python
用python求一重积分和二重积分的例子
2019/12/06 Python
Python3如何判断三角形的类型
2020/04/12 Python
整理的15个非常有用的 HTML5 开发教程和速查手册
2011/10/18 HTML / CSS
Shopbop中文官网:美国亚马逊旗下时尚购物网站
2020/12/15 全球购物
SQL Server面试题
2013/04/04 面试题
银行求职自荐书
2014/06/25 职场文书
《合作意向书》怎么写?
2019/08/20 职场文书
Python 流媒体播放器的实现(基于VLC)
2021/04/28 Python
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js