Laravel 获取数据库查询语句
Posted 编程新一
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 获取数据库查询语句相关的知识,希望对你有一定的参考价值。
在使用 Laravel 的时候,很多时候我们想知道背后执行的数据库查询语句是什么。 这个其实可以有一个很简单的方法:
在 app\Providers\AppServiceProvider
里面:
public function boot()
{
if ( $this->app->environment() === 'local' ) {
\Log::info(\DB::getQueryLog());
}
}
如果没有效果的话,记得在代码前面执行 DB::enableQueryLog()
。在使用 tinker
的情况下也是可以的:
⚡ php artisan tinker
Psy Shell v0.7.0 (PHP 7.0.4-7+deb.sury.org~wily+2 — cli) by Justin Hileman
>>> DB::enableQueryLog();
=> null
>>> App\User::all();
=> Illuminate\Database\Eloquent\Collection {#771
all: [
App\User {#777
...
},
App\User {#778
...
},
...
],
}
>>> DB::getQueryLog();
=> [
[
"query" => "select * from "users"",
"bindings" => [],
"time" => 0.32,
],
]
主要在 tinker 最开始的时候执行
DB::enableQueryLog()
,然后你执行完数据库查询后,就可以使用DB::getQueryLog()
查看了
如果你只是想看效果的话,非常推荐大家可以用 tinker
来试试。
以上是关于Laravel 获取数据库查询语句的主要内容,如果未能解决你的问题,请参考以下文章