V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
Sponsored by
LinkedIn
2000 个不用坐班的远程好工作在召唤你 · 弹性上班不打卡,工作和生活都能拥有
2000 个不用坐班的全球远程工作,帮助 V2EX 的小伙伴开启全新的工作方式。
Promoted by LinkedIn
xpyusrs
V2EX  ›  Go 编程语言

gorm 在用 JOIN 时, 怎么不让其他的条件给加进来

  •  
  •   xpyusrs · 265 天前 · 1490 次点击
    这是一个创建于 265 天前的主题,其中的信息可能已经有所发展或是发生改变。
    tx := g.DB.Model(&list).Where("user_id = ?", "1")
    tx = tx.Joins("inner join orders on orders.shop_id = ?", "123")
    tx.Where("item_id = ?", "111")
    

    如上面代码, tx.Joins 生成的连表, 我只想要我写的那个条件, gorm 还会把user_idtem_id也给加进去

    7 条回复    2022-01-07 20:58:57 +08:00
    iseki
        1
    iseki  
       264 天前
    你是不是配置了外键什么的在 model struct 上
    xpyusrs
        2
    xpyusrs  
    OP
       264 天前
    @iseki 外键我都没关闭的, 全靠引用来关联数据
    iseki
        3
    iseki  
       264 天前
    @xpyusrs 唔,我眼花了,你明明自己写了俩条件进去,GORM 肯定有啊
    yrj
        4
    yrj  
       264 天前 via iPad
    你自己写了两个 where 啊?去掉不就好了吗??
    ezioruan
        5
    ezioruan  
       264 天前
    直接写 raw sql 吧
    ni9ht
        6
    ni9ht  
       264 天前
    user_id 和 tem_id 是主表的条件?那就在字段前面加上表名:XXTable.user_id ,还有最好是把那两个字段放在 join 后面。
    tyrantZhao
        7
    tyrantZhao  
       261 天前
    把它变成 raw sql 看看做了什么
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2701 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 14:53 · PVG 22:53 · LAX 07:53 · JFK 10:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.