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

 更新时间:2019年10月24日 09:55:13   作者:观鸟星人  
今天小编就为大家分享一篇Laravel监听数据库访问,打印SQL的例子,有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

增加一个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多线程批量采集下载美女图片的实现代码(续)

    之前写过一篇《PHP批量采集下载美女图片》文中主要采用file_get_content做采集图片,今天发现采集了400张图片 居然需要70分钟以上,真是难以忍受
    2013-06-06
  • php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)

    php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)

    这篇文章主要介绍了0CTF-2016-piapiapia(php反序列化长度变化尾部字符串逃逸),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Yii2框架使用计划任务的方法

    Yii2框架使用计划任务的方法

    这篇文章主要介绍了Yii2框架使用计划任务的方法,结合实例形式分析了Yii2框架下计划任务的具体使用技巧,需要的朋友可以参考下
    2016-05-05
  • PHP实现微信对账单处理

    PHP实现微信对账单处理

    这篇文章主要为大家详细介绍了PHP实现微信对账单处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • 详解phpstorm2020最新激活方法

    详解phpstorm2020最新激活方法

    PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能,这篇文章主要介绍了phpstorm2020最新破解方法(2020年7月仍可用),需要的朋友可以参考下
    2020-09-09
  • 基于Laravel5.4实现多字段登录功能方法示例

    基于Laravel5.4实现多字段登录功能方法示例

    最近在工作中遇到一个需求,需要实现多字段登录的一个效果,就是可以使用手机或者邮箱任一种方式的登录,现在将解决的过程分享出来,所以这篇文章主要给大家介绍了基于Laravel5.4实现多字段登录功能的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • 使用Laravel中的查询构造器实现增删改查功能

    使用Laravel中的查询构造器实现增删改查功能

    这篇文章主要介绍了使用Laravel中的查询构造器实现增删改查功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Yii操作数据库实现动态获取表名的方法

    Yii操作数据库实现动态获取表名的方法

    这篇文章主要介绍了Yii操作数据库实现动态获取表名的方法,涉及Yii框架针对数据库的动态操作技巧,需要的朋友可以参考下
    2016-03-03
  • PHP 5.6.11中CURL模块问题的解决方法

    PHP 5.6.11中CURL模块问题的解决方法

    这篇文章主要介绍了PHP 5.6.11中CURL模块问题的解决方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】

    PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】

    这篇文章主要介绍了PHP 范围解析操作符(::)用法,结合具体实例形式分析了PHP使用范围解析操作符(::)访问静态成员和类常量相关操作技巧与注意事项,需要的朋友可以参考下
    2020-04-04

最新评论