在我的app / config / app.php文件中,我已打开'debug'=>true
。
我试过了
//run eloquent functions
$allMessages = Messages::with('User')->whereIn('conv_id',$conv_id)->orderBy('created_at','aadesc')->take(10);
$q= DB::getQueryLog();
dd($q);
但它返回一个空数组。所以我认为按照建议做end($q)
是没用的。
我还尝试了接受的answer to a question并将其添加到我的路径文件的末尾但没有任何反应。我还是Laravel的新手,需要一些指导。谢谢!
答案 0 :(得分:2)
一种流行的方法是监视Eloquent事件,并输出在数据库中运行的任何查询:
Event::listen('illuminate.query', function($query, $params, $time, $conn)
{
dd(array($query, $params, $time, $conn));
});
$allMessages = Messages::with('User')->whereIn('conv_id',$conv_id)->orderBy('created_at','aadesc')->take(10);
这将输出正在运行的查询。
另一种选择是使用Laravel4 Debugger软件包,它会自动显示运行的查询:https://github.com/barryvdh/laravel-debugbar