Laravel Eloquent:获取模型查询生成的 SQL 语句

我们有时候想测试一段代码生产的 SQL 语句,比如:我们想看 App\User::all(); 产生的 SQL 语句,我们简单地使用路由闭包做个实验:

Route::get('/test-sql', function() {

    DB::enableQueryLog();

    $user = App\User::all();

    return response()->json(DB::getQueryLog());
});

然后我们在浏览器打开 http://www.example.com/test-sql 即可看到 $user = User::all(); 所产生的 SQL 了

[
    {
        query: "select * from `users` where `users`.`deleted_at` is null",
        bindings: [ ],
        time: 1.37
    }
]

如果需要经常查看 SQL 信息,推荐使用 clockwork 这个插件更友好的记录。

你可能感兴趣的:(Laravel)