xormplus / xorm

xorm是一个简单而强大的Go语言ORM库,通过它可以使数据库操作非常简便。本库是基于原版xorm的定制增强版本,为xorm提供类似ibatis的配置文件及动态SQL支持,支持AcitveRecord操作
BSD 3-Clause "New" or "Revised" License
1.55k stars 222 forks source link

如何在SQL模版中使用in #58

Closed xiaoxfan closed 4 years ago

xiaoxfan commented 4 years ago

如题,比如status字段有很多状态(0,1,3,4,5...) 如何使用sql模版进行查询 select * from tableA where statud in (1,2,3) 我用下面两种方式都不行 1.

paramMap["statusList"] = `1,2,3`
{% if statusList != nil %}
and i.status in (?statusList)
{% endif %}

2.

paramMap["statusList"] = `(1,2,3)`
{% if statusList != nil %}
and i.status in ?statusList
{% endif %}
xiaoxfan commented 4 years ago

已解决 避免转义就行 以下两种方式都行

paramMap["statusList"] = `(1,2,3)`
{% if statusList != nil %}
and i.status in {{ statusList | safe }}
{% endif %}
paramMap["statusList"] = `1,2,3`
{% if statusList != nil %}
and i.status in ({{ statusList | safe }})
{% endif %}