Laravel Lumen-雄辩的查询日志

Laravel Lumen-雄辩的查询日志,laravel,lumen,Laravel,Lumen,我正在使用Laravel Lumen构建API 我已经到了需要找出Eloquent生成的SQL查询的地步。我知道如何在Laravel4和Laravel5中实现这一点,但我在Lumen中尝试了相同的代码,查询结果为空 $queries = DB::getQueryLog(); $last_query = end($queries); echo 'Query<pre>'; print_r($last_query); exit; $querys=DB::getQueryL

我正在使用Laravel Lumen构建API

我已经到了需要找出Eloquent生成的SQL查询的地步。我知道如何在Laravel4和Laravel5中实现这一点,但我在Lumen中尝试了相同的代码,查询结果为空

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

echo 'Query<pre>';
    print_r($last_query);
exit;
$querys=DB::getQueryLog();
$last_query=end($querys);
回应"查询",;
打印(上次查询);
出口

上面的代码,当在Laravel中运行时工作正常-在Lumen中查询为空?

要在Laravel Lumen工作中获取查询日志,您需要启用它:

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

echo 'Query<pre>';
    print_r($last_query);
exit;
DB::connection()->enableQueryLog()

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

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

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

打印您的查询

您还可以将以下内容与雄辩结合使用:

echo $query->toSql();

在调用
->first()
->get()
等之前,必须先运行
getSql()
getBindings()
,在查询后只需调用它,以使其快速简单:


我使用的是Lumen 5.7,上面的代码只记录了df DB::select等,而不是雄辩的模型检索等,我希望它会这样。@NigelAtkinson您是否尝试过
dd($雄辩的查询->toSql(),$雄辩的查询->getBindings())谢谢ajtrichards,它们确实有效,但是我解决了问题。我有一个LadaCache,它在redis中缓存有说服力的查询,并不像我想象的那样被禁用。