带绑定参数的原始查询输出将出现在 Laravel 10 中
发布时间 作者: Paul Redmond
Laravel 10 将提供一个期待已久的功能,用于获取原始 SQL 查询,包括绑定参数 🥳
随着之前的补丁合并到 Laravel 中,我终于能够创建一个多年来一直被请求的功能
— Tobias_Petry.sql (@tobias_petry) 2023 年 6 月 20 日
User::where(...)->ddRawSql()
它会打印生成的 SQL 查询,同时将绑定参数安全地嵌入到查询中 🤯https://t.co/3lSfaGooKH
此功能将包含在下一个标记的 v10.x
版本中,通常每周发布一次
// Using the new `toRawSql()` method// "SELECT * FROM users WHERE email = '[email protected]'"
在 toRawSql()
之前有一些先例——各种开发工具(例如 Laravel Debugbar)会为你提供查询,你也可以使用 dd()
方法
// Using the dd() method// "SELECT * FROM users WHERE email = ?"// [// 0 => "[email protected]"// ]
dd()
功能很好,它提供了你需要的一切。但是,如果你想重新运行、解释或调试查询,则需要手动复制/粘贴/插入绑定参数。新的 toRawSql()
可以帮助你满足复制查询并直接在数据库客户端中运行的需求。
感谢 Tobias Petry 为此 PR 做出的贡献;他一直在为 Laravel 提供重要的数据库更新。例如,他最近为语法贡献了转义功能,该功能已随 Laravel 10.13 发布。
有关即将推出的 toRawSql()
方法的更多详细信息,请查看 Pull Request #47507——这是一个非常棒的提高生活质量的功能!