Laravel Lumen - Eloquent查询日志

时间:2015-07-29 15:17:17

标签: laravel lumen

我正在使用Laravel Lumen构建API。

我已经到了需要找出Eloquent正在生成什么SQL查询的地方。我知道如何在Laravel 4和Laravel 5中执行此操作,但我在Lumen中尝试了相同的代码并且查询是空白的?

$queries    = DB::getQueryLog();
$last_query = end($queries);

echo 'Query<pre>';
    print_r($last_query);
exit;

上面的代码,在Laravel中运行时效果很好 - 在Lumen中,查询是空白的吗?

2 个答案:

答案 0 :(得分:6)

要使Laravel Lumen中的查询日志正常工作,您需要启用它:

DB::connection()->enableQueryLog();

您可以将该代码添加到控制器,中间件等中,然后使用:

$queries    = DB::getQueryLog();
$lastQuery = end($queries);

dd($lastQuery)

打印您的查询。

您还可以使用以下内容:

$myModel = Users::where('active', true);

dd($myModel->getSql(), $myModel->getBindings());

在致电getSql()getBindings()等之前,您必须先运行->first()->get()

答案 1 :(得分:2)

请在查询后调用此方法以使其快速简单:

echo $query->toSql();