在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 注入的参数绑定,还有执行时间。