本文介紹了Laravel5.* 打印出執行的sql語句的方法,分享給大家,具體如下:
打開app/Providers/AppServiceProvider.PHP,在boot方法中添加如下內容
5.2以下版本
// 先引入DB use DB;// 或者直接使用 /DB:: DB::listen(function($sql, $bindings, $time) { dump($sql); });5.2及以上版本
use DB;// 或者直接使用 /DB::// 只能接受一個參數QueryExecuted {#84 ▼ +sql: select * from `posts` where `slug` = ? limit 1  +bindings: array:1 [?] +time: 0.59 +connection: MySqlConnection {#85 ?} +connectionName: mysql  DB::listen(function($sql) { dump($sql); // echo $sql-  // dump($sql- bindings);// 如果要放入日志文件中DB::listen( function ($sql) { // $sql is an object with the properties: // sql: The query // bindings: the sql query variables // time: The execution time for the query // connectionName: The name of the connection // To save the executed queries to file: // Process the sql and the bindings: foreach ($sql- bindings as $i = $binding) { if ($binding instanceof /DateTime) { $sql- bindings[$i] = $binding- format( / Y-m-d H:i:s/  } else { if (is_string($binding)) { $sql- bindings[$i] = $binding  // Insert bindings into query $query = str_replace(array( % , ? ), array( %% , %s ), $sql- sql); $query = vsprintf($query, $sql- bindings); // Save the query to file $logFile = fopen( storage_path( logs . DIRECTORY_SEPARATOR . date( Y-m-d ) . _query.log ), fwrite($logFile, date( Y-m-d H:i:s ) . : . $query . PHP_EOL); fclose($logFile););以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !
相關推薦:
通過 Laravel “規范” 的開發短信驗證碼發送功能
Laravel5框架中向視圖傳送array的學習
Laravel 5框架的模型和控制器以及視圖基礎流程的學習
以上就是關于Laravel5.打印出執行的sql語句的方法的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答