作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我在 Go 中有一个 gorm.DB 对象,我想提取并断言我构建的查询以查看它是否正确构建。如何将查询的“字符串”表示形式与此对象进行比较?
最佳答案
确保您的 gorm
是最新的。
ToSQL
例子:
sql := DB.ToSQL(func(tx *gorm.DB) *gorm.DB {
return tx.Model(&User{}).Where("id = ?", 100).Limit(10).Order("age desc").Find(&[]User{})
})
sql //=> SELECT * FROM "users" WHERE id = 100 AND "users"."deleted_at" IS NULL ORDER BY age desc LIMIT 10
例子:
stmt := db.Session(&Session{DryRun: true}).First(&user, 1).Statement
stmt.SQL.String() //=> SELECT * FROM `users` WHERE `id` = $1 ORDER BY `id`
stmt.Vars //=> []interface{}{1}
Debug
例子:
db.Debug().Where("name = ?", "jinzhu").First(&User{})
关于go - 如何将 gorm.DB 查询转换为其字符串表示形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73762321/
我是一名优秀的程序员,十分优秀!