gpt4 book ai didi

sql - Bookshelfjs ORM 如何获取或查看其构建的 SQL 语句

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:19 24 4
gpt4 key购买 nike

构建 ORM 查询时,我想查看执行的实际(原始)查询是什么。

例如在 Rails 中我们可以这样做:

User.where(name: 'Oscar').to_sql
# => SELECT "users".* FROM "users" WHERE "users"."name" = 'Oscar'

Bookshelfjs 中存在此功能吗?或者有其他方法可以得到这个吗?

提前致谢

最佳答案

看起来没有像 Rails 那样直接获取 SQL 语句的方法。

您可以使用 . query()toSQL()或者 。 query()toString() 。但是像在 Rails 中那样获得精确的结果有点复杂,因为查询可能不完整。原因是许多语句在 Bookshelf 中执行查询之前应用。例如,书架关系就是如此。此外,许多插件使用事件来应用查询语句。如果您想调试查询,那么我建议您使用 Knex#debug反而。例如

model.query(function(qb) {
qb.debug(true);
}).fetch()

它在控制台中打印调试信息。

来源:官方bookshelfjs github

关于sql - Bookshelfjs ORM 如何获取或查看其构建的 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38301811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com