美文网首页
XORM使用的坑

XORM使用的坑

作者: sickle4j | 来源:发表于2021-01-22 14:45 被阅读0次

    xorm使用in :

    err := conn.Where(builder.In("id", ids)).And("deleted = 0").Find(&y)
    

    使用SQL后使用Limit可能不生效,最好使用where

    err := conn.SQL("select * from  yunyun_works where deleted = 0").Limit(limit, start).Find(&yun)
    

    结构体自动忽略空字段
    在xorm中,结构体会自动忽略默认值,比如int 的0 ,string的"",默认是这个字段不执行,这个时候,怎么解决呢?
    把结构体中的字段,提到where语句的条件中,比如:

    orm.Get(&User{Name:""}) //获取Name为空的用户
    

    可以改为

    orm.Where("name = ?","").Get(&User{})
    

    更新是如果结构体中有默认值,也不会更新,可以手写sql执行。
    如下图:user中name=""就不会更新name字段


    image.png

    相关文章

      网友评论

          本文标题:XORM使用的坑

          本文链接:https://www.haomeiwen.com/subject/xtvszktx.html