GORM JOIN 操作:如何使用 WHERE 条件不影响 JOIN 结果
在 GORM 中,可以使用 Preload 方法来进行 JOIN 操作。如果想要在 JOIN 操作中使用 WHERE 条件,可以在 Preload 方法中使用 Where 方法来指定条件。这样即可保证 WHERE 条件不影响 JOIN 操作。
例如:
db.Preload('Books', func(db *gorm.DB) *gorm.DB {
return db.Where('books.name LIKE ?', '%Golang%')
}).Find(&users)
这段代码会查询所有用户,并在查询的同时预加载他们的书籍,但只会选择书名中包含 'Golang' 的书籍。这里的 WHERE 条件只会对 Books 表生效,不会对 Users 表产生影响。
原文地址: https://www.cveoy.top/t/topic/mQ6y 著作权归作者所有。请勿转载和采集!