gorm left join 连表查询的时候 怎么用not in?

gy0624ww · · 2204 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

代码如下: package main import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mssql" _ "github.com/jinzhu/gorm/dialects/mysql" _ "github.com/jinzhu/gorm/dialects/postgres" _ "github.com/jinzhu/gorm/dialects/sqlite" ) var db *gorm.DB func init() { var err error db, err = gorm.Open("mysql", "gorm:gorm@tcp(localhost:9910)/gorm?charset=utf8&parseTime=True") if err != nil { panic(err) } db.LogMode(true) } type Res { Id int `gorm:"column:id"` age int `gorm:"column:age"` } func main() { var result []Res db.Table("A").Select("A.id,A.age").Joins("left join B on A.id=B.id"). Where("A.age=28"). Not("B.id", []{2,3,4,5}). Scan(&result) fmt.Printf("%v", result) } 但是最后sql 日志输出的是 select A.id,A.age from A left join B on A.id=B.id where a.age=28 and A.B.id not in(2,3,4,5) B.id 变成了 A.B.id not in 了。。 这里改如何处理? 怎么指定Not() 操作的是哪个表的字段?

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2204 次点击  
加入收藏 微博
1 回复  |  直到 2018-09-18 22:07:29
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传