我正在使用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中查询是空的?
发布于 2015-07-29 23:17:17
要让Laravel Lumen中的查询日志正常工作,您需要启用它:
DB::connection()->enableQueryLog();
您可以将该代码添加到您的控制器、中间件等中,然后使用:
$queries = DB::getQueryLog();
$lastQuery = end($queries);
dd($lastQuery)来打印您的查询。
您还可以将以下内容与eloquent一起使用:
$myModel = Users::where('active', true);
dd($myModel->getSql(), $myModel->getBindings());必须先运行getSql()和getBindings(),然后才能调用->first()或->get()等
发布于 2015-10-21 15:32:16
只需在查询后调用此函数,以使其快速而简单:
echo $query->toSql();https://stackoverflow.com/questions/31704550
复制相似问题