当前位置:首页 > CMS教程 > 其它CMS > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-17 10:10:19 浏览: 评论:0 

今天小编就为大家分享一篇Laravel监听数据库访问,打印SQL的例子,有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。

增加一个helper函数

  1. if ( ! function_exists('sql_dump')) { 
  2.   function sql_dump() 
  3.   {   
  4.     \DB::listen(function ($sql) { 
  5.       $i = 0; 
  6.       $bindings = $sql->bindings; 
  7.       $rawSql = preg_replace_callback('/\?/'function ($matchesuse ($bindings, &$i) { 
  8.         $item = isset($bindings[$i]) ? $bindings[$i] : $matches[0]; 
  9.         $i++; 
  10.         return gettype($item) == 'string' ? "'$item'" : $item
  11.       }, $sql->sql); 
  12.       echo $rawSql"\n<br /><br />\n"
  13.     });  
  14.   }   

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

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

sql_dump();

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

Tags: Laravel监听数据

分享到: