本文介绍了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教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答