Laravel5打印所有运行SQL

复制代码
//function //laravel 官方打印sql
    public static function printAllSql(){
        DB::listen(function($query) {
            $sql_arr = [];
            $bindings = $query->bindings;
            $sql = $query->sql;
            foreach ($bindings as $replace){
                $value = is_numeric($replace) ? $replace : "'".$replace."'";
                $sql = preg_replace('/\?/', $value, $sql, 1);
            }
            $sql_arr[] = $sql;
            print_r($sql_arr);
        });
    }


//调用方式:直接在请求流的最上面调用方法即可
printAllSql();

复制代码

 

 

 

 

第二种:

DB::connection()->enableQueryLog();#开启执行日志
$result = DB::table('advert')->whereJsonContains('tag',"1")->get();
dd(DB::getQueryLog());

 

posted @   温柔的风  阅读(441)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示