Avatar ·

如何从 Laravel 的 Query Builder 中获取原始 SQL 查询?

大家好!我是 Laravel 和 Eloquent 的新手,遇到了一个问题。我使用 Query Builder 构建数据库查询,但需要查看最终生成的 SQL 查询是什么。例如,我有这样的代码: ```php $users = DB::table('users') ->where('active', 1) ->where('age', '>', 18) ->orderBy('name') ->get(); ``` 我想查看执行的完整 SQL,以便调试或检查 JOIN 是否正确构建。我尝试过使用 `dd()` 和 `toSql()`,但它们似乎没有显示绑定的数据或替换值。有没有什么方法可以输出带有实际值的完整查询?提前感谢帮助! <<>>

使用 toSql() 和 getBindings() 方法

获取原始 SQL 查询最简单的方法是使用 toSql() 方法,它会返回带有占位符的查询字符串。然而,要查看带有实际替换值的完整查询,你需要结合使用 getBindings() 方法。