Pārlūkot izejas kodu

sql语句打印

林海涛 1 gadu atpakaļ
vecāks
revīzija
190260512f
1 mainītis faili ar 25 papildinājumiem un 0 dzēšanām
  1. 25 0
      app/common.php

+ 25 - 0
app/common.php

@@ -354,3 +354,28 @@ function http_request($url , $data = NULL)
 
     return $jsoninfo;
 }
+
+
+/**
+ * sql语句打印
+ * 需要打印sql时将record_sql()方法放到sql语句之前,或 config.database.trigger_sql设置为true
+ */
+function record_sql()
+{
+    if(!config("database.connections.mysql.trigger_sql")){
+        $config = config('database');
+        $config['connections']['mysql']['trigger_sql'] = true;
+        app()->config->set($config,'database');
+    }
+    \think\facade\Db::listen(function ($sql,$time,$connection) {
+        if(strpos($sql,'CONNECT') !== false){
+            return;
+        }
+        if(strpos($sql,'SHOW FULL') !== false){
+            return;
+        }
+        \think\facade\Log::debug( '打印sql: '.$sql. ' time:'.$time);
+    });
+}
+
+