Laravel 中调试输出 SQL 语句的简便方法 
                                                    
                        
                    
                    
  
                    
                    Elequent ORM ->toSql() 可以输出sql语句,但如果带 binding 参数的,输出的语句会带?,类似下面这样:
select * from `rooms` where `rooms`.`project_id` = ?barryvdh/laravel-debugbar 这个包需要添加代码注入配置,仅限浏览器输出,如果是 postman 工具调试,就无法查看输出的SQL了。
简便方法
可以把下面代码放在查询语句前:
\DB::listen(function($sql, $bindings, $time) {
     foreach ($bindings as $replace){
         $value = is_numeric($replace) ? $replace : "'".$replace."'";
         $sql = preg_replace('/\?/', $value, $sql, 1);
     }
     dd($sql);
 })本作品采用《CC 协议》,转载必须注明作者和本文链接
 
           扣丁禅师 的个人博客
 扣丁禅师 的个人博客
         
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
                     
                     
             
             
            
 
             
             
             
             
             
           
           关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号 
 
推荐文章: