gen
gen copied to clipboard
自定义SQL模板 - 使用 SELET 指定字段查询无法转义
GORM Playground Link
https://github.com/go-gorm/playground/pull/1
Description
type DIYMethod interface {
// FirstById 根据ID查询第一条记录, 指定字段传入
//
// sql(
// SELECT
// {{ if len(columns) > 0 }}
// {{ for i, column := range columns }}
// @column{{ if i < (len(columns) - 1) }},{{ end }}
// {{ end }}
// {{ else }}
// *
// {{ end }}
// FROM `@@table`
// WHERE `id` = @id
// AND `delete_time` = 0
// )
FirstById(id uint64, columns []string) (gen.T, error)
}
上述文件生成的代码,GORM
产生的 SQL
日志如下,字段使用 单引号( '' ) 包裹,而不是使用反引号( `` )
[8.706ms] [rows:1] SELECT 'id', 'mobile' , 'email' FROM `demo` WHERE `id` = 65127101300211712 AND `delete_time` = 0
表列名用@@name
表列名用@@name
如果是自定义传入的列名呢?如上面的,传入多个字段,做循环,是否可以说的明白点?@idersec
@shuqingzai @@column
就可以了