如何在Laravel 5.3中执行最后一次查询?

时间:2017-01-11 01:32:51

标签: php laravel laravel-5.3

我试着这样:

public function displayList()
{
    \DB::enableQueryLog();  
    $query = Self::orderBy('program_code')->orderBy('output_code')
                 ->orderBy('account_code')->all();
    dd(\DB::getQueryLog());
    return $query;
}

结果如下:

[]

显示空数组

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:4)

最合适的方法是收听数据库查询。你可以做到

\DB::listen(function ($query) {
    dump($query->sql);
    dump($query->bindings);
    dump($query->time);
})
路径文件中的

。这将转储执行数据库查询。但是,如果你想要一个更清洁的方法,你可以在laravel logger中包含上面的监听器。

\Log::info(
    \DB::listen(function ($query) {
        dump($query->sql);
        dump($query->bindings);
        dump($query->time);
    })
); 

然后输出将转储到your-app/storage/logs/laravel.log

注意:请注意删除或注释掉上述代码,因为它们仅用于开发目的。

此外,您可以像database transactions

中提到的那样AppServiceProvider

答案 1 :(得分:1)

我建议你使用Laravel包调试栏:https://github.com/barryvdh/laravel-debugbar。它显示了您执行的查询列表以及您想要查看的其他有用数据。