在laravel 5.4中显示在Eloquent中执行的所有SQL

Display all SQL executed in Eloquent in laravel 5.4

我的 web.php 中有这条路线:

Route::get('task' , function(){
   return App\Carsoul::all();
});

此代码return:

[{"id":12,"image":"1502286679.jpg"},{"id":14,"image":"1502287112.jpg"}]  

我想显示 return 以上结果的查询,所以我在 Route 之前添加此代码:

Event::listen('illuminate.query', function($query){
  var_dump($query);
});  

期待return喜欢:SELECT* FROM 'carsouls' ...
但 return 结果相同:

[{"id":12,"image":"1502286679.jpg"},{"id":14,"image":"1502287112.jpg"}] 

哪里出错了?

您好,如果您想在 Eloquent 中将查询显示为字符串,您可以尝试

Model::orderBy('id','ASC')->toSql() returns 完成查询。

希望对您有所帮助