天天看点

laravel 中查看执行的sql 语句

在laravel 框架中,一般使用链式操作来对数据库进行相关的增删改查。那么如何查看我们执行的sql 呢?

对于查询语句来说; 我们可以在链式操作后面加上

->toSql()

;来打印执行的sql 语句。

但是,对于其他的就不适用了。所以可以采用以下的办法:

DB::enableQueryLog();

UserAddress::where('id',1)->decrement('last_used_at',1);

return response()->json(DB::getQueryLog());
           

查看结果:

{
     "query": "update `user_addresses` set `last_used_at` = `last_used_at` - 1, `user_addresses`.`updated_at` = ? where `id` = ?",
     "bindings": [
         "2020-05-27 17:34:48",
         1
     ],
     "time": 68.87
 }
           

可以看到,框架为我们做好了sql 注入的参数绑定,还有执行时间。