[gorm]关联查询问题

18328048335 · · 512 次点击 · 开始浏览    置顶

我有type如下: ```go type Citizen struct { gorm.Model Name string `gorm:"unique"` IDc IDCard `gorm:"foreignKey:CitizenID"` } type IDCard struct { gorm.Model Color string CitizenID int } ``` 创建若干数据: ```go c1 := &Citizen{Name: "Citizen_1", IDc: IDCard{Color: "yellow"}} c2 := &Citizen{Name: "Citizen_2", IDc: IDCard{Color: "yellow"}} c3 := &Citizen{Name: "Citizen_3", IDc: IDCard{Color: "red"}} c4 := &Citizen{Name: "Citizen_4", IDc: IDCard{Color: "ready"}} ``` 现在我想要查询一个时间段中建立的Citizen数据, 并且他们的IDCard颜色中带有"re": ```go var result []Citizen ss := _db //筛选时间 ss = ss.Where("created_at BETWEEN ? AND ?", time.Unix(0, 0), time.Unix(time.Now().Unix()+100, 0)) //筛选 IDCard 颜色: 查询所有IDCard.color中带有 “re” 的 Citizen ss = ss.Joins("IDc").Where("color LIKE ?", "%"+"re"+"%") //查询结果 ss = ss.Preload("IDc").Find(&result) ``` 但是报了错 :`ambiguous column name: created_at`, 这个是因为两个表中都有这个字段,产生的。我应该如何将这个条件应用到Citizen表中? debug sql: ``` ```

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

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

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