laravel5.2 打印sql语句

来源:互联网 发布:手机淘宝达人淘在哪里 编辑:程序博客网 时间:2024/06/05 17:13

laravel 5.2 输出sql

laravel输出sql不是很简单,需要自己写一些代码来实现这个功能。

把下面的代码放到 app/Providers/AppServiceProvider.php中的boot方法里 :

DB::listen(function($sql) {            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'";                    }                }            }            $query = str_replace(array('%', '?'), array('%%', '%s'), $sql->sql);            $query = vsprintf($query, $sql->bindings); var_dump($query);        });


网上很多监听的代码都是错的,laravel 5.2只传了一个参数进来,不是网上的3个。
现在我们可以在本地开发的时候进行sql的记录,便于调试程序。也可以不输出写入文件。

0 0