如何在Laravel 5中执行查询?DB :: getQueryLog()返回空数组

我正在尝试查看查询日志,但DB::getQueryLog()只返回一个空数组:


$user = User::find(5);

print_r(DB::getQueryLog());

结果


Array

(

)

如何查看此查询的日志?




米琪卡哇伊
浏览 284回答 3
3回答

慕尼黑的夜晚无繁华

如果您真正关心的只是用于快速调试目的的实际查询(最后一个运行):DB::enableQueryLog();# your laravel query builder goes here$laQuery = DB::getQueryLog();$lcWhatYouWant = $laQuery[0]['query']; # <-------# optionally disable the query log:DB::disableQueryLog();做一个print_r()上$laQuery[0]得到充分的查询,包括绑定。($lcWhatYouWant上面的变量会将变量替换为??)如果您使用的不是主要的mysql连接,则需要改用以下这些:DB::connection("mysql2")->enableQueryLog();DB::connection("mysql2")->getQueryLog();(连接名称为“ mysql2”)

森栏

把它放在routes.php文件中:\Event::listen('Illuminate\Database\Events\QueryExecuted', function ($query) {&nbsp; &nbsp; echo'<pre>';&nbsp; &nbsp; var_dump($query->sql);&nbsp; &nbsp; var_dump($query->bindings);&nbsp; &nbsp; var_dump($query->time);&nbsp; &nbsp; echo'</pre>';});由msurguy提交,此页面中的源代码。您将在注释中找到laravel 5.2的此修复代码。
打开App,查看更多内容
随时随地看视频慕课网APP