2018-03-03 14:29:07 +08:00

27 lines
516 B
Go

package sqlbuilder
import (
"fmt"
"github.com/jinzhu/gorm"
)
// BuildLimitCondition build limit condition
func BuildLimitCondition(tx *gorm.DB) chan *Builder {
limitChan := make(chan *Builder)
go func() {
builder := &Builder{}
if limit := tx.Statement.Limit; limit.Limit != nil {
builder.SQL.WriteString(fmt.Sprintf(" LIMIT %d", *limit.Limit))
if limit.Offset != nil {
builder.SQL.WriteString(fmt.Sprintf(" OFFSET %d", *limit.Offset))
}
}
limitChan <- builder
}()
return limitChan
}