在GORM v2中,可以使用Where方法来添加OR条件,并使用Preload方法来预加载相关联的数据。在生成的SQL中加括号可以使用PreloadSubQuery选项,它允许你将子查询嵌套在SELECT语句中,从而在生成的SQL中添加括号。下面是一个示例代码:

db.Where("name = ? OR age > ?", "John", 30).
   Preload("Orders", func(db *gorm.DB) *gorm.DB {
       return db.Where("state = ?", "paid")
   },gorm.SubQuery).
   Find(&users)

在上面的代码中,Preload方法的第二个参数是一个回调函数,它返回一个*gorm.DB对象。我们在这个回调函数中使用Where方法添加一个子查询,然后将SubQuery选项传递给Preload方法。这样,生成的SQL就会在子查询中添加括号,从而确保OR条件的优先级。

gormiogen中or条件怎么在生成的sql中加括号

原文地址: https://www.cveoy.top/t/topic/efNV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录