主页 > 知识库 > Laravel监听数据库访问,打印SQL的例子

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

热门标签:银行业务 电子围栏 阿里云 Linux服务器 科大讯飞语音识别系统 团购网站 服务器配置 Mysql连接数设置

增加一个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, "\nbr />br />\n";
    }); 
  }  
}

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

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

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

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

您可能感兴趣的文章:
  • Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
  • Laravel5.5 数据库迁移:创建表与修改表示例
  • Laravel5.7 数据库操作迁移的实现方法
  • 在Laravel5.6中使用Swoole的协程数据库查询
  • Laravel框架DB facade数据库操作详解
  • Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
  • PHP的Laravel框架结合MySQL与Redis数据库的使用部署
  • Laravel框架数据库CURD操作、连贯操作总结
  • PHP开发框架Laravel数据库操作方法总结
  • Laravel如何同时连接多个数据库详解
  • Laravel5.1 框架数据库操作DB运行原生SQL的方法分析

标签:萍乡 广元 大理 枣庄 衢州 蚌埠 衡水 江苏

巨人网络通讯声明:本文标题《Laravel监听数据库访问,打印SQL的例子》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266