yafeng-Soong / gorm-paginator

A gorm paginator, based on generic of go 1.18 (基于Golang 1.18简单封装的Gorm分页插件)
MIT License
11 stars 2 forks source link

使用原生 sql 查询时候无效 #2

Closed CHN-STUDENT closed 11 months ago

CHN-STUDENT commented 11 months ago

RT,自己写了 sql 在字符串里,然后使用 query.Raw(queryStr, values...) 设置,同时用了分页查询,但是这查询无效了。开启Debug模式发现 sql 就没有运行,目前正在研究。

image

CHN-STUDENT commented 11 months ago

对于自己需要使用 SQL 查询的,需要修改分页查询语句。

func (page *Page[T]) SelectPagesBySQL(sql string, args []interface{}, db *gorm.DB) (e error) {
    //var model T
    db.Raw(sql, args...).Count(&page.Total)
    if page.Total == 0 {
        page.Data = []T{}
        return
    }
    e = db.Raw(sql, args...).Scopes(Paginate(page)).Scan(&page.Data).Error
    return
}