代码拉取完成,页面将自动刷新
package mdb
import (
"fmt"
"gitee.com/oshine/murphy/core/def"
"strconv"
"strings"
"time"
)
func (b *Base) Where(where string, bind ...any) *Base {
for _, v := range bind {
var p string
switch v.(type) {
case string:
p ="\""+ strings.ReplaceAll(v.(string) , "\"", "\\\"") + "\""
case bool:
p = strconv.FormatBool(v.(bool))
case time.Time:
p = strconv.FormatInt(v.(time.Time).UnixMilli(), 10)
default:
p = fmt.Sprintf("%v", v)
}
where = strings.Replace(where, "{?}", p, 1)
}
b._where = where
return b
}
// Order 排序,如:id desc
func (b *Base) Order(order string) *Base {
b._order = "order by " + order
return b
}
func (b *Base) Page(page int64) *Base {
b._p = page
b._ps = 20
page = (page - 1) * 20
b._limit = " limit 20" + " offset " + strconv.Itoa(int(page))
return b
}
func (b *Base) PageLimit(page, pageSize int64) *Base {
if pageSize > 100 {
println("Warnning: In func PageLimit(), pageSize no more than 100")
}
b._p = page
b._ps = pageSize
page = (page - 1) * pageSize
b._limit = " limit " + strconv.Itoa(int(pageSize)) + " offset " + strconv.Itoa(int(page))
return b
}
func (b *Base) WithCond(y def.ICond) {
str := y.Build()
p1 := str[:len(str)-3]
b._where = p1
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。