Laravel Lumen-雄辩的查询日志
我正在使用Laravel Lumen构建API 我已经到了需要找出Eloquent生成的SQL查询的地步。我知道如何在Laravel4和Laravel5中实现这一点,但我在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
$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中缓存有说服力的查询,并不像我想象的那样被禁用。